UNPKG

2.13 kBJavaScriptView Raw
1if (typeof require !== 'undefined') {
2 var Validator = require('../src/validator.js');
3 var expect = require('chai').expect;
4} else {
5 var Validator = window.Validator;
6 var expect = window.chai.expect;
7}
8
9describe('date rule', function() {
10 it('should pass for correct, parsable date format', function() {
11 var asserts = [
12 807926400000,
13 'Aug 9, 1995',
14 'Wed, 09 Aug 1995 00:00:00 GMT',
15 'Wed, 09 Aug 1995 00:00:00',
16 '1995-08-09',
17 '1995-08-09T00:00:00+00:00',
18 '1995-08-09T00:00:00Z',
19 '1995-08-09T00:00:00.000Z',
20 (new Date())
21 ];
22
23 asserts.forEach(function (assert) {
24 var validator = new Validator({
25 date: assert
26 }, {
27 date: 'date'
28 });
29 expect(validator.passes()).to.be.true;
30 expect(validator.fails()).to.be.false;
31 });
32 });
33
34 it('should pass for correct date formats', function() {
35 var validator;
36
37 validator = new Validator({passingDate: 'Friday, March 17 2017'}, {passingDate: 'date'});
38 expect(validator.passes()).to.be.true;
39
40 validator = new Validator({passingDate: '2017-03-18'}, {passingDate: 'date'});
41 expect(validator.passes()).to.be.true;
42
43 validator = new Validator({passingDate: '2017-03-18'}, {passingDate: 'date'});
44 expect(validator.passes()).to.be.true;
45
46 validator = new Validator({passingDate: '2017.03.18'}, {passingDate: 'date'});
47 expect(validator.passes()).to.be.true;
48
49 validator = new Validator({passingDate: '2017-03-31'}, {passingDate: 'date'});
50 expect(validator.passes()).to.be.true;
51
52 });
53
54 it('should fail for incorrect date formats', function() {
55
56 var validator;
57
58 validator = new Validator({failDate: '2014-25-23'}, {failDate: 'date'});
59 expect(validator.fails()).to.be.true;
60
61 validator = new Validator({failDate: 'foo-bar'}, {failDate: 'date'});
62 expect(validator.fails()).to.be.true;
63
64 validator = new Validator({failDate: '0908 1995'}, {failDate: 'date'});
65 expect(validator.fails()).to.be.true;
66
67 validator = new Validator({failDate: '9/39/19'}, {failDate: 'date'});
68 expect(validator.fails()).to.be.true;
69
70 });
71});