1 | if (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 |
|
9 | describe('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 | });
|