date-and-time 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/tests/test.mjs CHANGED
@@ -1,1971 +1,1908 @@
1
- /*global before, after, describe, it, date */
1
+ /*global describe, it */
2
2
 
3
- import { chromium } from 'playwright';
4
- import { createServer } from 'http-server';
5
3
  import expect from 'expect.js';
4
+ import date from 'date-and-time';
6
5
 
7
- let server, browser, page;
8
-
9
- before(async () => {
10
- server = createServer();
11
- server.listen(3000);
6
+ describe('format', () => {
7
+ it('"YYYY" equals to "0001"', function () {
8
+ var now = new Date(0, -1899 * 12, 1);
9
+ expect(date.format(now, 'YYYY')).to.equal('0001');
10
+ });
11
+ it('"YYYY" equals to "0099"', function () {
12
+ var now = new Date(0, -1801 * 12, 1);
13
+ expect(date.format(now, 'YYYY')).to.equal('0099');
14
+ });
15
+ it('"YYYY" equals to "0100"', function () {
16
+ var now = new Date(100, 0, 1);
17
+ expect(date.format(now, 'YYYY')).to.equal('0100');
18
+ });
19
+ it('"YYYY" equals to "1800"', function () {
20
+ var now = new Date(1800, 0, 1);
21
+ expect(date.format(now, 'YYYY')).to.equal('1800');
22
+ });
23
+ it('"YYYY" equals to "1899"', function () {
24
+ var now = new Date(1899, 0, 1);
25
+ expect(date.format(now, 'YYYY')).to.equal('1899');
26
+ });
27
+ it('"YYYY" equals to "1900"', function () {
28
+ var now = new Date(1900, 0, 1);
29
+ expect(date.format(now, 'YYYY')).to.equal('1900');
30
+ });
31
+ it('"YYYY" equals to "1901"', function () {
32
+ var now = new Date(1901, 0, 1);
33
+ expect(date.format(now, 'YYYY')).to.equal('1901');
34
+ });
35
+ it('"YYYY" equals to "1970"', function () {
36
+ var now = new Date(1970, 0, 1);
37
+ expect(date.format(now, 'YYYY')).to.equal('1970');
38
+ });
39
+ it('"YYYY" equals to "1999"', function () {
40
+ var now = new Date(1999, 0, 1);
41
+ expect(date.format(now, 'YYYY')).to.equal('1999');
42
+ });
43
+ it('"YYYY" equals to "2000"', function () {
44
+ var now = new Date(2000, 0, 1);
45
+ expect(date.format(now, 'YYYY')).to.equal('2000');
46
+ });
47
+ it('"YYYY" equals to "2001"', function () {
48
+ var now = new Date(2001, 0, 1);
49
+ expect(date.format(now, 'YYYY')).to.equal('2001');
50
+ });
51
+ it('"YYYY" equals to "9999"', function () {
52
+ var now = new Date(9999, 0, 1);
53
+ expect(date.format(now, 'YYYY')).to.equal('9999');
54
+ });
55
+ it('"YYYY" as UTC equals to "XXXX"', function () {
56
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789),
57
+ utc = true;
58
+ expect(date.format(now, 'YYYY', utc)).to.equal('' + now.getUTCFullYear());
59
+ });
60
+ it('"YY" equals to "00"', function () {
61
+ var now = new Date(0, 0, 1);
62
+ expect(date.format(now, 'YY')).to.equal('00');
63
+ });
64
+ it('"YY" equals to "01"', function () {
65
+ var now = new Date(0, -1899 * 12, 1);
66
+ expect(date.format(now, 'YY')).to.equal('01');
67
+ });
68
+ it('"YY" equals to "99"', function () {
69
+ var now = new Date(0, -1801 * 12, 1);
70
+ expect(date.format(now, 'YY')).to.equal('99');
71
+ });
72
+ it('"YY" equals to "00"', function () {
73
+ var now = new Date(100, 0, 1);
74
+ expect(date.format(now, 'YY')).to.equal('00');
75
+ });
76
+ it('"YY" equals to "01"', function () {
77
+ var now = new Date(101, 0, 1);
78
+ expect(date.format(now, 'YY')).to.equal('01');
79
+ });
80
+ it('"YY" equals to "99"', function () {
81
+ var now = new Date(199, 0, 1);
82
+ expect(date.format(now, 'YY')).to.equal('99');
83
+ });
84
+ it('"YY" equals to "00"', function () {
85
+ var now = new Date(1900, 0, 1);
86
+ expect(date.format(now, 'YY')).to.equal('00');
87
+ });
88
+ it('"YY" equals to "01"', function () {
89
+ var now = new Date(1901, 0, 1);
90
+ expect(date.format(now, 'YY')).to.equal('01');
91
+ });
92
+ it('"YY" equals to "99"', function () {
93
+ var now = new Date(1999, 0, 1);
94
+ expect(date.format(now, 'YY')).to.equal('99');
95
+ });
96
+ it('"YY" equals to "00"', function () {
97
+ var now = new Date(2000, 0, 1);
98
+ expect(date.format(now, 'YY')).to.equal('00');
99
+ });
100
+ it('"YY" equals to "01"', function () {
101
+ var now = new Date(2001, 0, 1);
102
+ expect(date.format(now, 'YY')).to.equal('01');
103
+ });
104
+ it('"YY" equals to "99"', function () {
105
+ var now = new Date(2099, 0, 1);
106
+ expect(date.format(now, 'YY')).to.equal('99');
107
+ });
108
+ it('"YY" equals to "00"', function () {
109
+ var now = new Date(9900, 0, 1);
110
+ expect(date.format(now, 'YY')).to.equal('00');
111
+ });
112
+ it('"YY" equals to "01"', function () {
113
+ var now = new Date(9901, 0, 1);
114
+ expect(date.format(now, 'YY')).to.equal('01');
115
+ });
116
+ it('"YY" equals to "99"', function () {
117
+ var now = new Date(9999, 0, 1);
118
+ expect(date.format(now, 'YY')).to.equal('99');
119
+ });
120
+ it('"YY" as UTC equals to "XX"', function () {
121
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
122
+ expect(date.format(now, 'YY')).to.equal('' + (now.getUTCFullYear() - 2000));
123
+ });
124
+ it('"Y" equals to "1"', function () {
125
+ var now = new Date(0, -1899 * 12, 1);
126
+ expect(date.format(now, 'Y')).to.equal('1');
127
+ });
128
+ it('"Y" equals to "10"', function () {
129
+ var now = new Date(0, -1890 * 12, 1);
130
+ expect(date.format(now, 'Y')).to.equal('10');
131
+ });
132
+ it('"Y" equals to "100"', function () {
133
+ var now = new Date(100, 0, 1);
134
+ expect(date.format(now, 'Y')).to.equal('100');
135
+ });
136
+ it('"Y" equals to "1000"', function () {
137
+ var now = new Date(1000, 0, 1);
138
+ expect(date.format(now, 'Y')).to.equal('1000');
139
+ });
140
+ it('"Y" equals to "10000"', function () {
141
+ var now = new Date(10000, 0, 1);
142
+ expect(date.format(now, 'Y')).to.equal('10000');
143
+ });
144
+ it('"Y" as UTC equals to "X"', function () {
145
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
146
+ expect(date.format(now, 'Y')).to.equal('' + (now.getUTCFullYear()));
147
+ });
148
+ it('"MMMM" equals to "January"', function () {
149
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
150
+ expect(date.format(now, 'MMMM')).to.equal('January');
151
+ });
152
+ it('"MMMM" equals to "December"', function () {
153
+ var now = new Date(2015, 11, 1);
154
+ expect(date.format(now, 'MMMM')).to.equal('December');
155
+ });
156
+ it('"MMM" equals to "Jan"', function () {
157
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
158
+ expect(date.format(now, 'MMM')).to.equal('Jan');
159
+ });
160
+ it('"MMM" equals to "Dec"', function () {
161
+ var now = new Date(2015, 11, 1);
162
+ expect(date.format(now, 'MMM')).to.equal('Dec');
163
+ });
164
+ it('"MM" equals to "01"', function () {
165
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
166
+ expect(date.format(now, 'MM')).to.equal('01');
167
+ });
168
+ it('"MM" equals to "12"', function () {
169
+ var now = new Date(2015, 11, 1, 12, 34, 56, 789);
170
+ expect(date.format(now, 'MM')).to.equal('12');
171
+ });
172
+ it('"MM" as UTC equals to "XX"', function () {
173
+ var now = new Date(2015, 10, 1, 12, 34, 56, 789),
174
+ utc = true;
175
+ expect(date.format(now, 'MM', utc)).to.equal('' + (now.getUTCMonth() + 1));
176
+ });
177
+ it('"M" equals to "1"', function () {
178
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
179
+ expect(date.format(now, 'M')).to.equal('1');
180
+ });
181
+ it('"M" equals to "12"', function () {
182
+ var now = new Date(2015, 11, 1, 12, 34, 56, 789);
183
+ expect(date.format(now, 'M')).to.equal('12');
184
+ });
185
+ it('"M" as UTC equals to "XX"', function () {
186
+ var now = new Date(2015, 10, 1, 12, 34, 56, 789);
187
+ expect(date.format(now, 'M')).to.equal('' + (now.getUTCMonth() + 1));
188
+ });
189
+ it('"DD" equals to "01"', function () {
190
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
191
+ expect(date.format(now, 'DD')).to.equal('01');
192
+ });
193
+ it('"DD" equals to "31"', function () {
194
+ var now = new Date(2015, 0, 31, 12, 34, 56, 789);
195
+ expect(date.format(now, 'DD')).to.equal('31');
196
+ });
197
+ it('"DD" equals to "XX"', function () {
198
+ var now = new Date(2015, 0, 15, 12, 34, 56, 789),
199
+ utc = true;
200
+ expect(date.format(now, 'DD', utc)).to.equal('' + now.getUTCDate());
201
+ });
202
+ it('"D" equals to "1"', function () {
203
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
204
+ expect(date.format(now, 'D')).to.equal('1');
205
+ });
206
+ it('"D" equals to "31"', function () {
207
+ var now = new Date(2015, 0, 31, 12, 34, 56, 789);
208
+ expect(date.format(now, 'D')).to.equal('31');
209
+ });
210
+ it('"D" as UTC equals to "XX"', function () {
211
+ var now = new Date(2015, 0, 15, 12, 34, 56, 789),
212
+ utc = true;
213
+ expect(date.format(now, 'D', utc)).to.equal('' + now.getUTCDate());
214
+ });
215
+ it('"dddd" equals to "Tuesday"', function () {
216
+ var now = new Date(2015, 0, 6, 12, 34, 56, 789);
217
+ expect(date.format(now, 'dddd')).to.equal('Tuesday');
218
+ });
219
+ it('"dddd" equals to "Thursday"', function () {
220
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
221
+ expect(date.format(now, 'dddd')).to.equal('Thursday');
222
+ });
223
+ it('"ddd" equals to "Sun"', function () {
224
+ var now = new Date(2015, 0, 4, 12, 34, 56, 789);
225
+ expect(date.format(now, 'ddd')).to.equal('Sun');
226
+ });
227
+ it('"ddd" equals to "Wed"', function () {
228
+ var now = new Date(2015, 0, 7, 12, 34, 56, 789);
229
+ expect(date.format(now, 'ddd')).to.equal('Wed');
230
+ });
231
+ it('"dd" equals to "Fr"', function () {
232
+ var now = new Date(2015, 0, 2, 12, 34, 56, 789);
233
+ expect(date.format(now, 'dd')).to.equal('Fr');
234
+ });
235
+ it('"dd" equals to "Sa"', function () {
236
+ var now = new Date(2015, 0, 3, 12, 34, 56, 789);
237
+ expect(date.format(now, 'dd')).to.equal('Sa');
238
+ });
239
+ it('"HH" equals to "12"', function () {
240
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
241
+ expect(date.format(now, 'HH')).to.equal('12');
242
+ });
243
+ it('"HH" equals to "00"', function () {
244
+ var now = new Date(2015, 0, 1, 0, 34, 56, 789);
245
+ expect(date.format(now, 'HH')).to.equal('00');
246
+ });
247
+ it('"HH" equals to "23"', function () {
248
+ var now = new Date(2015, 0, 1, 23, 34, 56, 789);
249
+ expect(date.format(now, 'HH')).to.equal('23');
250
+ });
251
+ it('"HH" as UTC equals to "XX"', function () {
252
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789),
253
+ utc = true;
254
+ expect(date.format(now, 'HH', utc)).to.equal(('0' + now.getUTCHours()).slice(-2));
255
+ });
256
+ it('"H" equals to "12"', function () {
257
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
258
+ expect(date.format(now, 'H')).to.equal('12');
259
+ });
260
+ it('"H" equals to "0"', function () {
261
+ var now = new Date(2015, 0, 1, 0, 34, 56, 789);
262
+ expect(date.format(now, 'H')).to.equal('0');
263
+ });
264
+ it('"H" equals to "23"', function () {
265
+ var now = new Date(2015, 0, 1, 23, 34, 56, 789);
266
+ expect(date.format(now, 'H')).to.equal('23');
267
+ });
268
+ it('"H" as UTC equals to "XX"', function () {
269
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789),
270
+ utc = true;
271
+ expect(date.format(now, 'H', utc)).to.equal('' + now.getUTCHours());
272
+ });
273
+ it('"hh A" equals to "12 PM"', function () {
274
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
275
+ expect(date.format(now, 'hh A')).to.equal('12 PM');
276
+ });
277
+ it('"hh A" equals to "12 AM"', function () {
278
+ var now = new Date(2015, 0, 1, 0, 34, 56, 789);
279
+ expect(date.format(now, 'hh A')).to.equal('12 AM');
280
+ });
281
+ it('"hh A" equals to "11 PM"', function () {
282
+ var now = new Date(2015, 0, 1, 23, 34, 56, 789);
283
+ expect(date.format(now, 'hh A')).to.equal('11 PM');
284
+ });
285
+ it('"hh A" equals to "01 AM"', function () {
286
+ var now = new Date(2015, 0, 1, 1, 34, 56, 789);
287
+ expect(date.format(now, 'hh A')).to.equal('01 AM');
288
+ });
289
+ it('"hh A" equals to "01 PM"', function () {
290
+ var now = new Date(2015, 0, 1, 13, 34, 56, 789);
291
+ expect(date.format(now, 'hh A')).to.equal('01 PM');
292
+ });
293
+ it('"h A" equals to "12 PM"', function () {
294
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
295
+ expect(date.format(now, 'h A')).to.equal('12 PM');
296
+ });
297
+ it('"h A" equals to "12 AM"', function () {
298
+ var now = new Date(2015, 0, 1, 0, 34, 56, 789);
299
+ expect(date.format(now, 'h A')).to.equal('12 AM');
300
+ });
301
+ it('"h A" equals to "11 PM"', function () {
302
+ var now = new Date(2015, 0, 1, 23, 34, 56, 789);
303
+ expect(date.format(now, 'h A')).to.equal('11 PM');
304
+ });
305
+ it('"h A" equals to "1 AM"', function () {
306
+ var now = new Date(2015, 0, 1, 1, 34, 56, 789);
307
+ expect(date.format(now, 'h A')).to.equal('1 AM');
308
+ });
309
+ it('"h A" equals to "1 PM"', function () {
310
+ var now = new Date(2015, 0, 1, 13, 34, 56, 789);
311
+ expect(date.format(now, 'h A')).to.equal('1 PM');
312
+ });
313
+ it('"mm" equals to "34"', function () {
314
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
315
+ expect(date.format(now, 'mm')).to.equal('34');
316
+ });
317
+ it('"mm" equals to "00"', function () {
318
+ var now = new Date(2015, 0, 1, 12, 0, 56, 789);
319
+ expect(date.format(now, 'mm')).to.equal('00');
320
+ });
321
+ it('"mm" equals to "59"', function () {
322
+ var now = new Date(2015, 0, 1, 12, 59, 56, 789);
323
+ expect(date.format(now, 'mm')).to.equal('59');
324
+ });
325
+ it('"mm" as UTC equals to "XX"', function () {
326
+ var now = new Date(2015, 0, 1, 12, 59, 56, 789),
327
+ utc = true;
328
+ expect(date.format(now, 'mm', utc)).to.equal(('0' + now.getUTCMinutes()).slice(-2));
329
+ });
330
+ it('"m" equals to "34"', function () {
331
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
332
+ expect(date.format(now, 'm')).to.equal('34');
333
+ });
334
+ it('"m" equals to "0"', function () {
335
+ var now = new Date(2015, 0, 1, 12, 0, 56, 789);
336
+ expect(date.format(now, 'm')).to.equal('0');
337
+ });
338
+ it('"m" equals to "59"', function () {
339
+ var now = new Date(2015, 0, 1, 12, 59, 56, 789);
340
+ expect(date.format(now, 'm')).to.equal('59');
341
+ });
342
+ it('"m" as UTC equals to "XX"', function () {
343
+ var now = new Date(2015, 0, 1, 12, 59, 56, 789),
344
+ utc = true;
345
+ expect(date.format(now, 'm', utc)).to.equal('' + now.getUTCMinutes());
346
+ });
347
+ it('"ss" equals to "56"', function () {
348
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
349
+ expect(date.format(now, 'ss')).to.equal('56');
350
+ });
351
+ it('"ss" equals to "00"', function () {
352
+ var now = new Date(2015, 0, 1, 12, 34, 0, 789);
353
+ expect(date.format(now, 'ss')).to.equal('00');
354
+ });
355
+ it('"ss" equals to "59"', function () {
356
+ var now = new Date(2015, 0, 1, 12, 34, 59, 789);
357
+ expect(date.format(now, 'ss')).to.equal('59');
358
+ });
359
+ it('"ss" as UTC equals to "59"', function () {
360
+ var now = new Date(2015, 0, 1, 12, 34, 59, 789),
361
+ utc = true;
362
+ expect(date.format(now, 'ss', utc)).to.equal(('0' + now.getUTCSeconds()).slice(-2));
363
+ });
364
+ it('"s" equals to "56"', function () {
365
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
366
+ expect(date.format(now, 's')).to.equal('56');
367
+ });
368
+ it('"s" equals to "0"', function () {
369
+ var now = new Date(2015, 0, 1, 12, 34, 0, 789);
370
+ expect(date.format(now, 's')).to.equal('0');
371
+ });
372
+ it('"s" equals to "59"', function () {
373
+ var now = new Date(2015, 0, 1, 12, 34, 59, 789);
374
+ expect(date.format(now, 's')).to.equal('59');
375
+ });
376
+ it('"s" as UTC equals to "59"', function () {
377
+ var now = new Date(2015, 0, 1, 12, 34, 59, 789),
378
+ utc = true;
379
+ expect(date.format(now, 's', utc)).to.equal('' + now.getUTCSeconds());
380
+ });
381
+ it('"SSS" equals to "789"', function () {
382
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
383
+ expect(date.format(now, 'SSS')).to.equal('789');
384
+ });
385
+ it('"SSS" equals to "000"', function () {
386
+ var now = new Date(2015, 0, 1, 12, 34, 56, 0);
387
+ expect(date.format(now, 'SSS')).to.equal('000');
388
+ });
389
+ it('"SSS" equals to "001"', function () {
390
+ var now = new Date(2015, 0, 1, 12, 34, 56, 1);
391
+ expect(date.format(now, 'SSS')).to.equal('001');
392
+ });
393
+ it('"SSS" as UTC equals to "XXX"', function () {
394
+ var now = new Date(2015, 0, 1, 12, 34, 56, 10),
395
+ utc = true;
396
+ expect(date.format(now, 'SSS', utc)).to.equal(('00' + now.getUTCMilliseconds()).slice(-3));
397
+ });
398
+ it('"SS" equals to "78"', function () {
399
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
400
+ expect(date.format(now, 'SS')).to.equal('78');
401
+ });
402
+ it('"SS" equals to "00"', function () {
403
+ var now = new Date(2015, 0, 1, 12, 34, 56, 0);
404
+ expect(date.format(now, 'SS')).to.equal('00');
405
+ });
406
+ it('"SS" equals to "00"', function () {
407
+ var now = new Date(2015, 0, 1, 12, 34, 56, 1);
408
+ expect(date.format(now, 'SS')).to.equal('00');
409
+ });
410
+ it('"SS" as UTC equals to "XX"', function () {
411
+ var now = new Date(2015, 0, 1, 12, 34, 56, 9),
412
+ utc = true;
413
+ expect(date.format(now, 'SS', utc)).to.equal(('00' + now.getUTCMilliseconds()).slice(-3).slice(0, 2));
414
+ });
415
+ it('"S" equals to "7"', function () {
416
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
417
+ expect(date.format(now, 'S')).to.equal('7');
418
+ });
419
+ it('"S" equals to "0"', function () {
420
+ var now = new Date(2015, 0, 1, 12, 34, 56, 0);
421
+ expect(date.format(now, 'S')).to.equal('0');
422
+ });
423
+ it('"S" equals to "0"', function () {
424
+ var now = new Date(2015, 0, 1, 12, 34, 56, 1);
425
+ expect(date.format(now, 'S')).to.equal('0');
426
+ });
427
+ it('"S" equals to "X"', function () {
428
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789),
429
+ utc = true;
430
+ expect(date.format(now, 'S', utc)).to.equal(('00' + now.getUTCMilliseconds()).slice(-3).slice(0, 1));
431
+ });
432
+ it('"Z" matches "+XXXX/-XXXX"', function () {
433
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
434
+ expect(date.format(now, 'Z')).to.match(/^[+-]\d{4}$/);
435
+ });
436
+ it('"Z" as UTC equals to "+0000"', function () {
437
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789),
438
+ utc = true;
439
+ expect(date.format(now, 'Z', utc)).to.equal('+0000');
440
+ });
441
+ it('"ZZ" matches "+XX:XX/-XX:XX"', function () {
442
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
443
+ expect(date.format(now, 'ZZ')).to.match(/^[+-]\d{2}:\d{2}$/);
444
+ });
445
+ it('"ZZ" as UTC equals to "+00:00"', function () {
446
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789),
447
+ utc = true;
448
+ expect(date.format(now, 'ZZ', utc)).to.equal('+00:00');
449
+ });
450
+ it('"ddd MMM DD YYYY HH:mm:ss" equals to "Thu Jan 01 2015 12:34:56"', function () {
451
+ var now = new Date(2015, 0, 1, 12, 34, 56, 789);
452
+ expect(date.format(now, 'ddd MMM DD YYYY HH:mm:ss')).to.equal('Thu Jan 01 2015 12:34:56');
453
+ });
454
+ it('"YYYY/MM/DD HH:mm:ss.SSS" equals to "1900/01/01 00:00:00.000"', function () {
455
+ var now = new Date(0, 0, 1);
456
+ expect(date.format(now, 'YYYY/MM/DD HH:mm:ss.SSS')).to.equal('1900/01/01 00:00:00.000');
457
+ });
458
+ it('"YY/MM/DD HH:mm:ss.SSS" equals to "00/01/01 00:00:00.000"', function () {
459
+ var now = new Date(0, 0, 1);
460
+ expect(date.format(now, 'YY/MM/DD HH:mm:ss.SSS')).to.equal('00/01/01 00:00:00.000');
461
+ });
462
+ it('"Y/M/D H:m:s.SSS" equals to "999/1/1 0:0:0.000"', function () {
463
+ var now = new Date(999, 0, 1);
464
+ expect(date.format(now, 'Y/M/D H:m:s.SSS')).to.equal('999/1/1 0:0:0.000');
465
+ });
466
+ it('"dddd, MMMM D, YYYY h A" equals to "Saturday, January 1, 2000 10 AM"', function () {
467
+ var now = new Date(2000, 0, 1, 10, 0, 0);
468
+ expect(date.format(now, 'dddd, MMMM D, YYYY h A')).to.equal('Saturday, January 1, 2000 10 AM');
469
+ });
470
+ it('"[dddd, MMMM D, YYYY h A]" equals to "dddd, MMMM D, YYYY h A"', function () {
471
+ var now = new Date(2000, 0, 1, 10, 0, 0);
472
+ expect(date.format(now, '[dddd, MMMM D, YYYY h A]')).to.equal('dddd, MMMM D, YYYY h A');
473
+ });
474
+ it('"[dddd], MMMM [D], YYYY [h] A" equals to "dddd, January D, 2000 h AM"', function () {
475
+ var now = new Date(2000, 0, 1, 10, 0, 0);
476
+ expect(date.format(now, '[dddd], MMMM [D], YYYY [h] A')).to.equal('dddd, January D, 2000 h AM');
477
+ });
478
+ it('"[[dddd], MMMM [D], YYYY [h] A]" equals to "[dddd], MMMM [D], YYYY [h] A"', function () {
479
+ var now = new Date(2000, 0, 1, 10, 0, 0);
480
+ expect(date.format(now, '[[dddd], MMMM [D], YYYY [h] A]')).to.equal('[dddd], MMMM [D], YYYY [h] A');
481
+ });
482
+ it('"[dddd], MMMM [[D], YYYY] [h] A" equals to "dddd, January [D], YYYY h AM"', function () {
483
+ var now = new Date(2000, 0, 1, 10, 0, 0);
484
+ expect(date.format(now, '[dddd], MMMM [[D], YYYY] [h] A')).to.equal('dddd, January [D], YYYY h AM');
485
+ });
486
+ });
12
487
 
13
- browser = await chromium.launch();
14
- page = await browser.newPage();
488
+ describe('compile', function () {
489
+ it('YYYY', function () {
490
+ var obj = ['YYYY', 'YYYY'];
491
+ expect(date.compile('YYYY')).to.eql(obj);
492
+ });
493
+ it('Y', function () {
494
+ var obj = ['Y', 'Y'];
495
+ expect(date.compile('Y')).to.eql(obj);
496
+ });
497
+ it('YYYY MMMM', function () {
498
+ var obj = ['YYYY MMMM', 'YYYY', ' ', 'MMMM'];
499
+ expect(date.compile('YYYY MMMM')).to.eql(obj);
500
+ });
501
+ it('YYYY MMM', function () {
502
+ var obj = ['YYYY MMM', 'YYYY', ' ', 'MMM'];
503
+ expect(date.compile('YYYY MMM')).to.eql(obj);
504
+ });
505
+ it('YYYY-MM', function () {
506
+ var obj = ['YYYY-MM', 'YYYY', '-', 'MM'];
507
+ expect(date.compile('YYYY-MM')).to.eql(obj);
508
+ });
509
+ it('YYYY-M', function () {
510
+ var obj = ['YYYY-M', 'YYYY', '-', 'M'];
511
+ expect(date.compile('YYYY-M')).to.eql(obj);
512
+ });
513
+ it('YYYY-MM-DD', function () {
514
+ var obj = ['YYYY-MM-DD', 'YYYY', '-', 'MM', '-', 'DD'];
515
+ expect(date.compile('YYYY-MM-DD')).to.eql(obj);
516
+ });
517
+ it('YYYY-M-D', function () {
518
+ var obj = ['YYYY-M-D', 'YYYY', '-', 'M', '-', 'D'];
519
+ expect(date.compile('YYYY-M-D')).to.eql(obj);
520
+ });
521
+ it('YYYY-MM-DD HH', function () {
522
+ var obj = ['YYYY-MM-DD HH', 'YYYY', '-', 'MM', '-', 'DD', ' ', 'HH'];
523
+ expect(date.compile('YYYY-MM-DD HH')).to.eql(obj);
524
+ });
525
+ it('YYYY-M-D H', function () {
526
+ var obj = ['YYYY-M-D H', 'YYYY', '-', 'M', '-', 'D', ' ', 'H'];
527
+ expect(date.compile('YYYY-M-D H')).to.eql(obj);
528
+ });
529
+ it('YYYY-M-D hh A', function () {
530
+ var obj = ['YYYY-M-D hh A', 'YYYY', '-', 'M', '-', 'D', ' ', 'hh', ' ', 'A'];
531
+ expect(date.compile('YYYY-M-D hh A')).to.eql(obj);
532
+ });
533
+ it('YYYY-M-D h A', function () {
534
+ var obj = ['YYYY-M-D h A', 'YYYY', '-', 'M', '-', 'D', ' ', 'h', ' ', 'A'];
535
+ expect(date.compile('YYYY-M-D h A')).to.eql(obj);
536
+ });
537
+ it('YYYY-MM-DD HH:mm', function () {
538
+ var obj = ['YYYY-MM-DD HH:mm', 'YYYY', '-', 'MM', '-', 'DD', ' ', 'HH', ':', 'mm'];
539
+ expect(date.compile('YYYY-MM-DD HH:mm')).to.eql(obj);
540
+ });
541
+ it('YYYY-M-D H:m', function () {
542
+ var obj = ['YYYY-M-D H:m', 'YYYY', '-', 'M', '-', 'D', ' ', 'H', ':', 'm'];
543
+ expect(date.compile('YYYY-M-D H:m')).to.eql(obj);
544
+ });
545
+ it('YYYY-MM-DD HH:mm:ss', function () {
546
+ var obj = ['YYYY-MM-DD HH:mm:ss', 'YYYY', '-', 'MM', '-', 'DD', ' ', 'HH', ':', 'mm', ':', 'ss'];
547
+ expect(date.compile('YYYY-MM-DD HH:mm:ss')).to.eql(obj);
548
+ });
549
+ it('YYYY-M-D H:m:s', function () {
550
+ var obj = ['YYYY-M-D H:m:s', 'YYYY', '-', 'M', '-', 'D', ' ', 'H', ':', 'm', ':', 's'];
551
+ expect(date.compile('YYYY-M-D H:m:s')).to.eql(obj);
552
+ });
553
+ it('YYYY-M-D H:m:s.SSS', function () {
554
+ var obj = ['YYYY-M-D H:m:s.SSS', 'YYYY', '-', 'M', '-', 'D', ' ', 'H', ':', 'm', ':', 's', '.', 'SSS'];
555
+ expect(date.compile('YYYY-M-D H:m:s.SSS')).to.eql(obj);
556
+ });
557
+ it('YYYY-M-D H:m:s.SS', function () {
558
+ var obj = ['YYYY-M-D H:m:s.SS', 'YYYY', '-', 'M', '-', 'D', ' ', 'H', ':', 'm', ':', 's', '.', 'SS'];
559
+ expect(date.compile('YYYY-M-D H:m:s.SS')).to.eql(obj);
560
+ });
561
+ it('YYYY-M-D H:m:s.S', function () {
562
+ var obj = ['YYYY-M-D H:m:s.S', 'YYYY', '-', 'M', '-', 'D', ' ', 'H', ':', 'm', ':', 's', '.', 'S'];
563
+ expect(date.compile('YYYY-M-D H:m:s.S')).to.eql(obj);
564
+ });
565
+ it('MMDDHHmmssSSS', function () {
566
+ var obj = ['MMDDHHmmssSSS', 'MM', 'DD', 'HH', 'mm', 'ss', 'SSS'];
567
+ expect(date.compile('MMDDHHmmssSSS')).to.eql(obj);
568
+ });
569
+ it('DDHHmmssSSS', function () {
570
+ var obj = ['DDHHmmssSSS', 'DD', 'HH', 'mm', 'ss', 'SSS'];
571
+ expect(date.compile('DDHHmmssSSS')).to.eql(obj);
572
+ });
573
+ it('HHmmssSSS', function () {
574
+ var obj = ['HHmmssSSS', 'HH', 'mm', 'ss', 'SSS'];
575
+ expect(date.compile('HHmmssSSS')).to.eql(obj);
576
+ });
577
+ it('mmssSSS', function () {
578
+ var obj = ['mmssSSS', 'mm', 'ss', 'SSS'];
579
+ expect(date.compile('mmssSSS')).to.eql(obj);
580
+ });
581
+ it('ssSSS', function () {
582
+ var obj = ['ssSSS', 'ss', 'SSS'];
583
+ expect(date.compile('ssSSS')).to.eql(obj);
584
+ });
585
+ it('SSS', function () {
586
+ var obj = ['SSS', 'SSS'];
587
+ expect(date.compile('SSS')).to.eql(obj);
588
+ });
589
+ it('foo', function () {
590
+ var obj = ['foo', 'f', 'oo'];
591
+ expect(date.compile('foo')).to.eql(obj);
592
+ });
593
+ it('bar', function () {
594
+ var obj = ['bar', 'b', 'a', 'r'];
595
+ expect(date.compile('bar')).to.eql(obj);
596
+ });
597
+ it('YYYYMMDD', function () {
598
+ var obj = ['YYYYMMDD', 'YYYY', 'MM', 'DD'];
599
+ expect(date.compile('YYYYMMDD')).to.eql(obj);
600
+ });
601
+ it('20150101235959', function () {
602
+ var obj = ['20150101235959', '2', '0', '1', '5', '0', '1', '0', '1', '2', '3', '5', '9', '5', '9'];
603
+ expect(date.compile('20150101235959')).to.eql(obj);
604
+ });
605
+ it('YYYY?M?D H?m?s?S', function () {
606
+ var obj = ['YYYY?M?D H?m?s?S', 'YYYY', '?', 'M', '?', 'D', ' ', 'H', '?', 'm', '?', 's', '?', 'S'];
607
+ expect(date.compile('YYYY?M?D H?m?s?S')).to.eql(obj);
608
+ });
609
+ it('[Y]YYYY[M]M[D]D[H]H[m]m[s]s[S]S', function () {
610
+ var obj = ['[Y]YYYY[M]M[D]D[H]H[m]m[s]s[S]S', '[Y]', 'YYYY', '[M]', 'M', '[D]', 'D', '[H]', 'H', '[m]', 'm', '[s]', 's', '[S]', 'S'];
611
+ expect(date.compile('[Y]YYYY[M]M[D]D[H]H[m]m[s]s[S]S')).to.eql(obj);
612
+ });
613
+ it('[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]', function () {
614
+ var obj = ['[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]', '[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]'];
615
+ expect(date.compile('[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]')).to.eql(obj);
616
+ });
617
+ it(' ', function () {
618
+ var obj = [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '];
619
+ expect(date.compile(' ')).to.eql(obj);
620
+ });
621
+ });
15
622
 
16
- await page.goto('http://127.0.0.1:3000/tests/test.html');
623
+ describe('preparse', function () {
624
+ it('YYYY', function () {
625
+ var dt = { Y: 0, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
626
+ expect(date.preparse('0000', 'YYYY')).to.eql(dt);
627
+ });
628
+ it('YYYY', function () {
629
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
630
+ expect(date.preparse('0001', 'YYYY')).to.eql(dt);
631
+ });
632
+ it('YYYY', function () {
633
+ var dt = { Y: 99, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
634
+ expect(date.preparse('0099', 'YYYY')).to.eql(dt);
635
+ });
636
+ it('YYYY', function () {
637
+ var dt = { Y: 100, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
638
+ expect(date.preparse('0100', 'YYYY')).to.eql(dt);
639
+ });
640
+ it('YYYY', function () {
641
+ var dt = { Y: 1899, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
642
+ expect(date.preparse('1899', 'YYYY')).to.eql(dt);
643
+ });
644
+ it('YYYY', function () {
645
+ var dt = { Y: 1900, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
646
+ expect(date.preparse('1900', 'YYYY')).to.eql(dt);
647
+ });
648
+ it('YYYY', function () {
649
+ var dt = { Y: 1969, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
650
+ expect(date.preparse('1969', 'YYYY')).to.eql(dt);
651
+ });
652
+ it('YYYY', function () {
653
+ var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
654
+ expect(date.preparse('1970', 'YYYY')).to.eql(dt);
655
+ });
656
+ it('YYYY', function () {
657
+ var dt = { Y: 1999, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
658
+ expect(date.preparse('1999', 'YYYY')).to.eql(dt);
659
+ });
660
+ it('YYYY', function () {
661
+ var dt = { Y: 2000, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
662
+ expect(date.preparse('2000', 'YYYY')).to.eql(dt);
663
+ });
664
+ it('YYYY', function () {
665
+ var dt = { Y: 9999, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
666
+ expect(date.preparse('9999', 'YYYY')).to.eql(dt);
667
+ });
668
+ it('Y', function () {
669
+ var dt = { Y: 0, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
670
+ expect(date.preparse('0', 'Y')).to.eql(dt);
671
+ });
672
+ it('Y', function () {
673
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
674
+ expect(date.preparse('1', 'Y')).to.eql(dt);
675
+ });
676
+ it('Y', function () {
677
+ var dt = { Y: 99, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 2, _length: 2, _match: 1 };
678
+ expect(date.preparse('99', 'Y')).to.eql(dt);
679
+ });
680
+ it('Y', function () {
681
+ var dt = { Y: 100, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 3, _length: 3, _match: 1 };
682
+ expect(date.preparse('100', 'Y')).to.eql(dt);
683
+ });
684
+ it('YYYY MMMM', function () {
685
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 12, _length: 12, _match: 2 };
686
+ expect(date.preparse('2015 January', 'YYYY MMMM')).to.eql(dt);
687
+ });
688
+ it('YYYY MMMM', function () {
689
+ var dt = { Y: 2015, M: 12, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 13, _length: 13, _match: 2 };
690
+ expect(date.preparse('2015 December', 'YYYY MMMM')).to.eql(dt);
691
+ });
692
+ it('YYYY MMMM', function () {
693
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 5, _length: 9, _match: 1 };
694
+ expect(date.preparse('2015 Zero', 'YYYY MMMM')).to.eql(dt);
695
+ });
696
+ it('YYYY MMM', function () {
697
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 8, _length: 8, _match: 2 };
698
+ expect(date.preparse('2015 Jan', 'YYYY MMM')).to.eql(dt);
699
+ });
700
+ it('YYYY MMM', function () {
701
+ var dt = { Y: 2015, M: 12, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 8, _length: 8, _match: 2 };
702
+ expect(date.preparse('2015 Dec', 'YYYY MMM')).to.eql(dt);
703
+ });
704
+ it('YYYY MMM', function () {
705
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 5, _length: 9, _match: 1 };
706
+ expect(date.preparse('2015 Zero', 'YYYY MMM')).to.eql(dt);
707
+ });
708
+ it('YYYY-MM', function () {
709
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 7, _length: 7, _match: 2 };
710
+ expect(date.preparse('2015-01', 'YYYY-MM')).to.eql(dt);
711
+ });
712
+ it('YYYY-MM', function () {
713
+ var dt = { Y: 2015, M: 12, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 7, _length: 7, _match: 2 };
714
+ expect(date.preparse('2015-12', 'YYYY-MM')).to.eql(dt);
715
+ });
716
+ it('YYYY-MM', function () {
717
+ var dt = { Y: 2015, M: 0, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 7, _length: 7, _match: 2 };
718
+ expect(date.preparse('2015-00', 'YYYY-MM')).to.eql(dt);
719
+ });
720
+ it('YYYY-M', function () {
721
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 6, _length: 6, _match: 2 };
722
+ expect(date.preparse('2015-1', 'YYYY-M')).to.eql(dt);
723
+ });
724
+ it('YYYY-M', function () {
725
+ var dt = { Y: 2015, M: 12, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 7, _length: 7, _match: 2 };
726
+ expect(date.preparse('2015-12', 'YYYY-M')).to.eql(dt);
727
+ });
728
+ it('YYYY-M', function () {
729
+ var dt = { Y: 2015, M: 0, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 6, _length: 6, _match: 2 };
730
+ expect(date.preparse('2015-0', 'YYYY-M')).to.eql(dt);
731
+ });
732
+ it('YYYY-MM-DD', function () {
733
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 10, _length: 10, _match: 3 };
734
+ expect(date.preparse('2015-01-01', 'YYYY-MM-DD')).to.eql(dt);
735
+ });
736
+ it('YYYY-MM-DD', function () {
737
+ var dt = { Y: 2015, M: 12, D: 31, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 10, _length: 10, _match: 3 };
738
+ expect(date.preparse('2015-12-31', 'YYYY-MM-DD')).to.eql(dt);
739
+ });
740
+ it('YYYY-MM-DD', function () {
741
+ var dt = { Y: 2015, M: 0, D: 0, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 10, _length: 10, _match: 3 };
742
+ expect(date.preparse('2015-00-00', 'YYYY-MM-DD')).to.eql(dt);
743
+ });
744
+ it('YYYY-M-D', function () {
745
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 8, _length: 8, _match: 3 };
746
+ expect(date.preparse('2015-1-1', 'YYYY-M-D')).to.eql(dt);
747
+ });
748
+ it('YYYY-M-D', function () {
749
+ var dt = { Y: 2015, M: 12, D: 31, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 10, _length: 10, _match: 3 };
750
+ expect(date.preparse('2015-12-31', 'YYYY-M-D')).to.eql(dt);
751
+ });
752
+ it('YYYY-M-D', function () {
753
+ var dt = { Y: 2015, M: 0, D: 0, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 8, _length: 8, _match: 3 };
754
+ expect(date.preparse('2015-0-0', 'YYYY-M-D')).to.eql(dt);
755
+ });
756
+ it('YYYY-MM-DD HH', function () {
757
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 13, _length: 13, _match: 4 };
758
+ expect(date.preparse('2015-01-01 00', 'YYYY-MM-DD HH')).to.eql(dt);
759
+ });
760
+ it('YYYY-MM-DD HH', function () {
761
+ var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 13, _length: 13, _match: 4 };
762
+ expect(date.preparse('2015-12-31 23', 'YYYY-MM-DD HH')).to.eql(dt);
763
+ });
764
+ it('YYYY-MM-DD HH', function () {
765
+ var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 13, _length: 13, _match: 4 };
766
+ expect(date.preparse('2015-00-00 24', 'YYYY-MM-DD HH')).to.eql(dt);
767
+ });
768
+ it('YYYY-M-D H', function () {
769
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 10, _length: 10, _match: 4 };
770
+ expect(date.preparse('2015-1-1 0', 'YYYY-M-D H')).to.eql(dt);
771
+ });
772
+ it('YYYY-M-D H', function () {
773
+ var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 13, _length: 13, _match: 4 };
774
+ expect(date.preparse('2015-12-31 23', 'YYYY-M-D H')).to.eql(dt);
775
+ });
776
+ it('YYYY-M-D H', function () {
777
+ var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 11, _length: 11, _match: 4 };
778
+ expect(date.preparse('2015-0-0 24', 'YYYY-M-D H')).to.eql(dt);
779
+ });
780
+ it('YYYY-M-D hh A', function () {
781
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 12, m: 0, s: 0, S: 0, Z: 0, _index: 14, _length: 14, _match: 5 };
782
+ expect(date.preparse('2015-1-1 12 AM', 'YYYY-M-D hh A')).to.eql(dt);
783
+ });
784
+ it('YYYY-M-D hh A', function () {
785
+ var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 1, h: 11, m: 0, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 5 };
786
+ expect(date.preparse('2015-12-31 11 PM', 'YYYY-M-D hh A')).to.eql(dt);
787
+ });
788
+ it('YYYY-M-D hh A', function () {
789
+ var dt = { Y: 2015, M: 0, D: 0, H: 0, A: 0, h: 12, m: 0, s: 0, S: 0, Z: 0, _index: 14, _length: 14, _match: 5 };
790
+ expect(date.preparse('2015-0-0 12 AM', 'YYYY-M-D hh A')).to.eql(dt);
791
+ });
792
+ it('YYYY-M-D h A', function () {
793
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 12, m: 0, s: 0, S: 0, Z: 0, _index: 14, _length: 14, _match: 5 };
794
+ expect(date.preparse('2015-1-1 12 AM', 'YYYY-M-D h A')).to.eql(dt);
795
+ });
796
+ it('YYYY-M-D h A', function () {
797
+ var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 1, h: 11, m: 0, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 5 };
798
+ expect(date.preparse('2015-12-31 11 PM', 'YYYY-M-D h A')).to.eql(dt);
799
+ });
800
+ it('YYYY-M-D h A', function () {
801
+ var dt = { Y: 2015, M: 0, D: 0, H: 0, A: 0, h: 12, m: 0, s: 0, S: 0, Z: 0, _index: 14, _length: 14, _match: 5 };
802
+ expect(date.preparse('2015-0-0 12 AM', 'YYYY-M-D h A')).to.eql(dt);
803
+ });
804
+ it('YYYY-MM-DD HH:mm', function () {
805
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 5 };
806
+ expect(date.preparse('2015-01-01 00:00', 'YYYY-MM-DD HH:mm')).to.eql(dt);
807
+ });
808
+ it('YYYY-MM-DD HH:mm', function () {
809
+ var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 5 };
810
+ expect(date.preparse('2015-12-31 23:59', 'YYYY-MM-DD HH:mm')).to.eql(dt);
811
+ });
812
+ it('YYYY-MM-DD HH:mm', function () {
813
+ var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 60, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 5 };
814
+ expect(date.preparse('2015-00-00 24:60', 'YYYY-MM-DD HH:mm')).to.eql(dt);
815
+ });
816
+ it('YYYY-M-D H:m', function () {
817
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 12, _length: 12, _match: 5 };
818
+ expect(date.preparse('2015-1-1 0:0', 'YYYY-M-D H:m')).to.eql(dt);
819
+ });
820
+ it('YYYY-M-D H:m', function () {
821
+ var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 5 };
822
+ expect(date.preparse('2015-12-31 23:59', 'YYYY-M-D H:m')).to.eql(dt);
823
+ });
824
+ it('YYYY-M-D H:m', function () {
825
+ var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 60, s: 0, S: 0, Z: 0, _index: 14, _length: 14, _match: 5 };
826
+ expect(date.preparse('2015-0-0 24:60', 'YYYY-M-D H:m')).to.eql(dt);
827
+ });
828
+ it('YYYY-MM-DD HH:mm:ss', function () {
829
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 19, _length: 19, _match: 6 };
830
+ expect(date.preparse('2015-01-01 00:00:00', 'YYYY-MM-DD HH:mm:ss')).to.eql(dt);
831
+ });
832
+ it('YYYY-MM-DD HH:mm:ss', function () {
833
+ var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 0, Z: 0, _index: 19, _length: 19, _match: 6 };
834
+ expect(date.preparse('2015-12-31 23:59:59', 'YYYY-MM-DD HH:mm:ss')).to.eql(dt);
835
+ });
836
+ it('YYYY-MM-DD HH:mm:ss', function () {
837
+ var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 60, s: 60, S: 0, Z: 0, _index: 19, _length: 19, _match: 6 };
838
+ expect(date.preparse('2015-00-00 24:60:60', 'YYYY-MM-DD HH:mm:ss')).to.eql(dt);
839
+ });
840
+ it('YYYY-M-D H:m:s', function () {
841
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 14, _length: 14, _match: 6 };
842
+ expect(date.preparse('2015-1-1 0:0:0', 'YYYY-M-D H:m:s')).to.eql(dt);
843
+ });
844
+ it('YYYY-M-D H:m:s', function () {
845
+ var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 0, Z: 0, _index: 19, _length: 19, _match: 6 };
846
+ expect(date.preparse('2015-12-31 23:59:59', 'YYYY-M-D H:m:s')).to.eql(dt);
847
+ });
848
+ it('YYYY-M-D H:m:s', function () {
849
+ var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 60, s: 60, S: 0, Z: 0, _index: 17, _length: 17, _match: 6 };
850
+ expect(date.preparse('2015-0-0 24:60:60', 'YYYY-M-D H:m:s')).to.eql(dt);
851
+ });
852
+ it('YYYY-M-D H:m:s.SSS', function () {
853
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 7 };
854
+ expect(date.preparse('2015-1-1 0:0:0.0', 'YYYY-M-D H:m:s.SSS')).to.eql(dt);
855
+ });
856
+ it('YYYY-M-D H:m:s.SSS', function () {
857
+ var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 999, Z: 0, _index: 23, _length: 23, _match: 7 };
858
+ expect(date.preparse('2015-12-31 23:59:59.999', 'YYYY-M-D H:m:s.SSS')).to.eql(dt);
859
+ });
860
+ it('YYYY-M-D H:m:s.SSS', function () {
861
+ var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 60, s: 61, S: 0, Z: 0, _index: 21, _length: 21, _match: 7 };
862
+ expect(date.preparse('2015-0-0 24:60:61.000', 'YYYY-M-D H:m:s.SSS')).to.eql(dt);
863
+ });
864
+ it('YYYY-M-D H:m:s.SS', function () {
865
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 7 };
866
+ expect(date.preparse('2015-1-1 0:0:0.0', 'YYYY-M-D H:m:s.SS')).to.eql(dt);
867
+ });
868
+ it('YYYY-M-D H:m:s.SS', function () {
869
+ var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 990, Z: 0, _index: 22, _length: 22, _match: 7 };
870
+ expect(date.preparse('2015-12-31 23:59:59.99', 'YYYY-M-D H:m:s.SS')).to.eql(dt);
871
+ });
872
+ it('YYYY-M-D H:m:s.SS', function () {
873
+ var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 60, s: 61, S: 0, Z: 0, _index: 20, _length: 20, _match: 7 };
874
+ expect(date.preparse('2015-0-0 24:60:61.00', 'YYYY-M-D H:m:s.SS')).to.eql(dt);
875
+ });
876
+ it('YYYY-M-D H:m:s.S', function () {
877
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 7 };
878
+ expect(date.preparse('2015-1-1 0:0:0.0', 'YYYY-M-D H:m:s.S')).to.eql(dt);
879
+ });
880
+ it('YYYY-M-D H:m:s.S', function () {
881
+ var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 900, Z: 0, _index: 21, _length: 21, _match: 7 };
882
+ expect(date.preparse('2015-12-31 23:59:59.9', 'YYYY-M-D H:m:s.S')).to.eql(dt);
883
+ });
884
+ it('YYYY M D H m s S', function () {
885
+ var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 900, Z: 0, _index: 21, _length: 21, _match: 7 };
886
+ expect(date.preparse('2015-12-31 23:59:59.9', 'YYYY M D H m s S')).to.eql(dt);
887
+ });
888
+ it('YYYY-M-D H:m:s.S', function () {
889
+ var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 60, s: 61, S: 0, Z: 0, _index: 19, _length: 19, _match: 7 };
890
+ expect(date.preparse('2015-0-0 24:60:61.0', 'YYYY-M-D H:m:s.S')).to.eql(dt);
891
+ });
892
+ it('YYYY-M-D H:m:s.SSS Z', function () {
893
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 22, _length: 22, _match: 8 };
894
+ expect(date.preparse('2015-1-1 0:0:0.0 +0000', 'YYYY-M-D H:m:s.SSS Z')).to.eql(dt);
895
+ });
896
+ it('YYYY-M-D H:m:s.SSS Z', function () {
897
+ var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 999, Z: 840, _index: 29, _length: 29, _match: 8 };
898
+ expect(date.preparse('2015-12-31 23:59:59.999 -1400', 'YYYY-M-D H:m:s.SSS Z')).to.eql(dt);
899
+ });
900
+ it('YYYY-M-D H:m:s.SSS Z', function () {
901
+ var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 60, s: 61, S: 0, Z: -720, _index: 27, _length: 27, _match: 8 };
902
+ expect(date.preparse('2015-0-0 24:60:61.000 +1200', 'YYYY-M-D H:m:s.SSS Z')).to.eql(dt);
903
+ });
904
+ it('MMDDHHmmssSSS', function () {
905
+ var dt = { Y: 1970, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 999, Z: 0, _index: 13, _length: 13, _match: 6 };
906
+ expect(date.preparse('1231235959999', 'MMDDHHmmssSSS')).to.eql(dt);
907
+ });
908
+ it('DDHHmmssSSS', function () {
909
+ var dt = { Y: 1970, M: 1, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 999, Z: 0, _index: 11, _length: 11, _match: 5 };
910
+ expect(date.preparse('31235959999', 'DDHHmmssSSS')).to.eql(dt);
911
+ });
912
+ it('HHmmssSSS', function () {
913
+ var dt = { Y: 1970, M: 1, D: 1, H: 23, A: 0, h: 0, m: 59, s: 59, S: 999, Z: 0, _index: 9, _length: 9, _match: 4 };
914
+ expect(date.preparse('235959999', 'HHmmssSSS')).to.eql(dt);
915
+ });
916
+ it('mmssSSS', function () {
917
+ var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 59, s: 59, S: 999, Z: 0, _index: 7, _length: 7, _match: 3 };
918
+ expect(date.preparse('5959999', 'mmssSSS')).to.eql(dt);
919
+ });
920
+ it('ssSSS', function () {
921
+ var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 59, S: 999, Z: 0, _index: 5, _length: 5, _match: 2 };
922
+ expect(date.preparse('59999', 'ssSSS')).to.eql(dt);
923
+ });
924
+ it('SSS', function () {
925
+ var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 999, Z: 0, _index: 3, _length: 3, _match: 1 };
926
+ expect(date.preparse('999', 'SSS')).to.eql(dt);
927
+ });
928
+ it('Z', function () {
929
+ var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: -355, _index: 5, _length: 5, _match: 1 };
930
+ expect(date.preparse('+0555', 'Z')).to.eql(dt);
931
+ });
932
+ it('Z', function () {
933
+ var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 5, _match: 0 };
934
+ expect(date.preparse('+9999', 'Z')).to.eql(dt);
935
+ });
936
+ it('ZZ', function () {
937
+ var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: -355, _index: 6, _length: 6, _match: 1 };
938
+ expect(date.preparse('+05:55', 'ZZ')).to.eql(dt);
939
+ });
940
+ it('ZZ', function () {
941
+ var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 6, _match: 0 };
942
+ expect(date.preparse('+99:99', 'Z')).to.eql(dt);
943
+ });
944
+ it('foo', function () {
945
+ var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 14, _match: 0 };
946
+ expect(date.preparse('20150101235959', 'foo')).to.eql(dt);
947
+ });
948
+ it('bar', function () {
949
+ var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 14, _match: 0 };
950
+ expect(date.preparse('20150101235959', 'bar')).to.eql(dt);
951
+ });
952
+ it('YYYYMMDD', function () {
953
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 8, _length: 14, _match: 3 };
954
+ expect(date.preparse('20150101235959', 'YYYYMMDD')).to.eql(dt);
955
+ });
956
+ it('20150101235959', function () {
957
+ var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 14, _length: 14, _match: 0 };
958
+ expect(date.preparse('20150101235959', '20150101235959')).to.eql(dt);
959
+ });
960
+ it('YYYY?M?D H?m?s?S', function () {
961
+ var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 21, _match: 1 };
962
+ expect(date.preparse('2015-12-31 23:59:59.9', 'YYYY?M?D H?m?s?S')).to.eql(dt);
963
+ });
964
+ it('YYYY-MM-DD HH:mm:ssZ', function () {
965
+ var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 0, Z: 0, _index: 19, _length: 20, _match: 6 };
966
+ expect(date.preparse('2015-12-31 23:59:59K', 'YYYY-MM-DD HH:mm:ss[Z]')).to.eql(dt);
967
+ });
968
+ it('[Y]YYYY[M]M[D]D[H]H[m]m[s]s[S]S', function () {
969
+ var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 900, Z: 0, _index: 22, _length: 22, _match: 7 };
970
+ expect(date.preparse('Y2015M12D31H23m59s59S9', '[Y]YYYY[M]M[D]D[H]H[m]m[s]s[S]S')).to.eql(dt);
971
+ });
972
+ it('[Y]YYYY[M]M[D]D[H]H[m]m[s]s[S]S', function () {
973
+ var dt = { Y: 2015, M: 12, D: 31, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 22, _length: 22, _match: 3 };
974
+ expect(date.preparse('Y2015M12D31H23m59s59S9', '[Y]YYYY[M]M[D]D...')).to.eql(dt);
975
+ });
976
+ it('[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]', function () {
977
+ var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 36, _length: 36, _match: 0 };
978
+ expect(date.preparse('[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S', '[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]')).to.eql(dt);
979
+ });
980
+ it('[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]', function () {
981
+ var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 36, _match: 0 };
982
+ expect(date.preparse('[Y]2015[M]12[D]31[H]23[m]59[s]59[S]9', '[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]')).to.eql(dt);
983
+ });
984
+ it(' ', function () {
985
+ var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 17, _length: 17, _match: 0 };
986
+ expect(date.preparse('20151231235959900', ' ')).to.eql(dt);
987
+ });
17
988
  });
18
989
 
19
- describe('format', () => {
20
- it('"YYYY" equals to "0001"', async () => {
21
- const result = await page.evaluate(() => {
22
- var now = new Date(0, -1899 * 12, 1);
23
- return date.format(now, 'YYYY');
24
- });
25
- expect(result).to.equal('0001');
990
+ describe('parse', function () {
991
+ it('YYYY', function () {
992
+ expect(isNaN(date.parse('0000', 'YYYY'))).to.be(true);
993
+ });
994
+ it('YYYY', function () {
995
+ var now = new Date(0, -1899 * 12, 1);
996
+ expect(date.parse('0001', 'YYYY')).to.eql(now);
997
+ });
998
+ it('YYYY', function () {
999
+ var now = new Date(0, -1801 * 12, 1);
1000
+ expect(date.parse('0099', 'YYYY')).to.eql(now);
1001
+ });
1002
+ it('YYYY', function () {
1003
+ var now = new Date(100, 0, 1);
1004
+ expect(date.parse('0100', 'YYYY')).to.eql(now);
1005
+ });
1006
+ it('YYYY', function () {
1007
+ var now = new Date(1899, 0, 1);
1008
+ expect(date.parse('1899', 'YYYY')).to.eql(now);
1009
+ });
1010
+ it('YYYY', function () {
1011
+ var now = new Date(1900, 0, 1);
1012
+ expect(date.parse('1900', 'YYYY')).to.eql(now);
1013
+ });
1014
+ it('YYYY', function () {
1015
+ var now = new Date(1969, 0, 1);
1016
+ expect(date.parse('1969', 'YYYY')).to.eql(now);
1017
+ });
1018
+ it('YYYY', function () {
1019
+ var now = new Date(1970, 0, 1);
1020
+ expect(date.parse('1970', 'YYYY')).to.eql(now);
1021
+ });
1022
+ it('YYYY', function () {
1023
+ var now = new Date(1999, 0, 1);
1024
+ expect(date.parse('1999', 'YYYY')).to.eql(now);
1025
+ });
1026
+ it('YYYY', function () {
1027
+ var now = new Date(2000, 0, 1);
1028
+ expect(date.parse('2000', 'YYYY')).to.eql(now);
1029
+ });
1030
+ it('YYYY', function () {
1031
+ var now = new Date(9999, 0, 1);
1032
+ expect(date.parse('9999', 'YYYY')).to.eql(now);
1033
+ });
1034
+ it('Y', function () {
1035
+ expect(isNaN(date.parse('0', 'Y'))).to.be(true);
1036
+ });
1037
+ it('Y', function () {
1038
+ var now = new Date(0, -1899 * 12, 1);
1039
+ expect(date.parse('1', 'Y')).to.eql(now);
1040
+ });
1041
+ it('Y', function () {
1042
+ var now = new Date(0, -1801 * 12, 1);
1043
+ expect(date.parse('99', 'Y')).to.eql(now);
1044
+ });
1045
+ it('Y', function () {
1046
+ var now = new Date(100, 0, 1);
1047
+ expect(date.parse('100', 'Y')).to.eql(now);
1048
+ });
1049
+ it('YYYY MMMM', function () {
1050
+ var now = new Date(2015, 0, 1);
1051
+ expect(date.parse('2015 January', 'YYYY MMMM')).to.eql(now);
1052
+ });
1053
+ it('YYYY MMMM', function () {
1054
+ var now = new Date(2015, 11, 1);
1055
+ expect(date.parse('2015 December', 'YYYY MMMM')).to.eql(now);
1056
+ });
1057
+ it('YYYY MMMM', function () {
1058
+ expect(isNaN(date.parse('2015 Zero', 'YYYY MMMM'))).to.be(true);
1059
+ });
1060
+ it('YYYY MMM', function () {
1061
+ var now = new Date(2015, 0, 1);
1062
+ expect(date.parse('2015 Jan', 'YYYY MMM')).to.eql(now);
1063
+ });
1064
+ it('YYYY MMM', function () {
1065
+ var now = new Date(2015, 11, 1);
1066
+ expect(date.parse('2015 Dec', 'YYYY MMM')).to.eql(now);
1067
+ });
1068
+ it('YYYY MMM', function () {
1069
+ expect(isNaN(date.parse('2015 Zero', 'YYYY MMM'))).to.be(true);
1070
+ });
1071
+ it('YYYY-MM', function () {
1072
+ var now = new Date(2015, 0, 1);
1073
+ expect(date.parse('2015-01', 'YYYY-MM')).to.eql(now);
1074
+ });
1075
+ it('YYYY-MM', function () {
1076
+ var now = new Date(2015, 11, 1);
1077
+ expect(date.parse('2015-12', 'YYYY-MM')).to.eql(now);
1078
+ });
1079
+ it('YYYY-MM', function () {
1080
+ expect(isNaN(date.parse('2015-00', 'YYYY-MM'))).to.be(true);
1081
+ });
1082
+ it('YYYY-M', function () {
1083
+ var now = new Date(2015, 0, 1);
1084
+ expect(date.parse('2015-1', 'YYYY-M')).to.eql(now);
1085
+ });
1086
+ it('YYYY-M', function () {
1087
+ var now = new Date(2015, 11, 1);
1088
+ expect(date.parse('2015-12', 'YYYY-M')).to.eql(now);
1089
+ });
1090
+ it('YYYY-M', function () {
1091
+ expect(isNaN(date.parse('2015-0', 'YYYY-M'))).to.be(true);
1092
+ });
1093
+ it('YYYY-MM-DD', function () {
1094
+ var now = new Date(2015, 0, 1);
1095
+ expect(date.parse('2015-01-01', 'YYYY-MM-DD')).to.eql(now);
1096
+ });
1097
+ it('YYYY-MM-DD', function () {
1098
+ var now = new Date(2015, 11, 31);
1099
+ expect(date.parse('2015-12-31', 'YYYY-MM-DD')).to.eql(now);
1100
+ });
1101
+ it('YYYY-MM-DD', function () {
1102
+ expect(isNaN(date.parse('2015-00-00', 'YYYY-MM-DD'))).to.be(true);
1103
+ });
1104
+ it('YYYY-M-D', function () {
1105
+ var now = new Date(2015, 0, 1);
1106
+ expect(date.parse('2015-1-1', 'YYYY-M-D')).to.eql(now);
1107
+ });
1108
+ it('YYYY-M-D', function () {
1109
+ var now = new Date(2015, 11, 31);
1110
+ expect(date.parse('2015-12-31', 'YYYY-M-D')).to.eql(now);
1111
+ });
1112
+ it('YYYY-M-D', function () {
1113
+ expect(isNaN(date.parse('2015-0-0', 'YYYY-M-D'))).to.be(true);
1114
+ });
1115
+ it('YYYY-MM-DD HH', function () {
1116
+ var now = new Date(2015, 0, 1, 0);
1117
+ expect(date.parse('2015-01-01 00', 'YYYY-MM-DD HH')).to.eql(now);
1118
+ });
1119
+ it('YYYY-MM-DD HH', function () {
1120
+ var now = new Date(2015, 11, 31, 23);
1121
+ expect(date.parse('2015-12-31 23', 'YYYY-MM-DD HH')).to.eql(now);
1122
+ });
1123
+ it('YYYY-MM-DD HH', function () {
1124
+ expect(isNaN(date.parse('2015-00-00 24', 'YYYY-MM-DD HH'))).to.be(true);
1125
+ });
1126
+ it('YYYY-M-D H', function () {
1127
+ var now = new Date(2015, 0, 1, 0);
1128
+ expect(date.parse('2015-1-1 0', 'YYYY-M-D H')).to.eql(now);
1129
+ });
1130
+ it('YYYY-M-D H', function () {
1131
+ var now = new Date(2015, 11, 31, 23);
1132
+ expect(date.parse('2015-12-31 23', 'YYYY-M-D H')).to.eql(now);
1133
+ });
1134
+ it('YYYY-M-D H', function () {
1135
+ expect(isNaN(date.parse('2015-0-0 24', 'YYYY-M-D H'))).to.be(true);
1136
+ });
1137
+ it('YYYY-M-D hh A', function () {
1138
+ var now = new Date(2015, 0, 1, 0);
1139
+ expect(date.parse('2015-1-1 12 AM', 'YYYY-M-D hh A')).to.eql(now);
1140
+ });
1141
+ it('YYYY-M-D hh A', function () {
1142
+ var now = new Date(2015, 11, 31, 23);
1143
+ expect(date.parse('2015-12-31 11 PM', 'YYYY-M-D hh A')).to.eql(now);
1144
+ });
1145
+ it('YYYY-M-D hh A', function () {
1146
+ expect(isNaN(date.parse('2015-0-0 12 AM', 'YYYY-M-D hh A'))).to.be(true);
1147
+ });
1148
+ it('YYYY-M-D h A', function () {
1149
+ var now = new Date(2015, 0, 1, 0);
1150
+ expect(date.parse('2015-1-1 12 AM', 'YYYY-M-D h A')).to.eql(now);
1151
+ });
1152
+ it('YYYY-M-D h A', function () {
1153
+ var now = new Date(2015, 11, 31, 23);
1154
+ expect(date.parse('2015-12-31 11 PM', 'YYYY-M-D h A')).to.eql(now);
1155
+ });
1156
+ it('YYYY-M-D h A', function () {
1157
+ expect(isNaN(date.parse('2015-0-0 12 AM', 'YYYY-M-D h A'))).to.be(true);
1158
+ });
1159
+ it('YYYY-MM-DD HH:mm', function () {
1160
+ var now = new Date(2015, 0, 1, 0, 0);
1161
+ expect(date.parse('2015-01-01 00:00', 'YYYY-MM-DD HH:mm')).to.eql(now);
1162
+ });
1163
+ it('YYYY-MM-DD HH:mm', function () {
1164
+ var now = new Date(2015, 11, 31, 23, 59);
1165
+ expect(date.parse('2015-12-31 23:59', 'YYYY-MM-DD HH:mm')).to.eql(now);
1166
+ });
1167
+ it('YYYY-MM-DD HH:mm', function () {
1168
+ expect(isNaN(date.parse('2015-00-00 24:60', 'YYYY-MM-DD HH:mm'))).to.be(true);
1169
+ });
1170
+ it('YYYY-M-D H:m', function () {
1171
+ var now = new Date(2015, 0, 1, 0, 0);
1172
+ expect(date.parse('2015-1-1 0:0', 'YYYY-M-D H:m')).to.eql(now);
1173
+ });
1174
+ it('YYYY-M-D H:m', function () {
1175
+ var now = new Date(2015, 11, 31, 23, 59);
1176
+ expect(date.parse('2015-12-31 23:59', 'YYYY-M-D H:m')).to.eql(now);
1177
+ });
1178
+ it('YYYY-M-D H:m', function () {
1179
+ expect(isNaN(date.parse('2015-0-0 24:60', 'YYYY-M-D H:m'))).to.be(true);
1180
+ });
1181
+ it('YYYY-MM-DD HH:mm:ss', function () {
1182
+ var now = new Date(2015, 0, 1, 0, 0, 0);
1183
+ expect(date.parse('2015-01-01 00:00:00', 'YYYY-MM-DD HH:mm:ss')).to.eql(now);
1184
+ });
1185
+ it('YYYY-MM-DD HH:mm:ss', function () {
1186
+ var now = new Date(2015, 11, 31, 23, 59, 59);
1187
+ expect(date.parse('2015-12-31 23:59:59', 'YYYY-MM-DD HH:mm:ss')).to.eql(now);
1188
+ });
1189
+ it('YYYY-MM-DD HH:mm:ss', function () {
1190
+ expect(isNaN(date.parse('2015-00-00 24:60:60', 'YYYY-MM-DD HH:mm:ss'))).to.be(true);
1191
+ });
1192
+ it('YYYY-M-D H:m:s', function () {
1193
+ var now = new Date(2015, 0, 1, 0, 0);
1194
+ expect(date.parse('2015-1-1 0:0:0', 'YYYY-M-D H:m:s')).to.eql(now);
1195
+ });
1196
+ it('YYYY-M-D H:m:s', function () {
1197
+ var now = new Date(2015, 11, 31, 23, 59, 59);
1198
+ expect(date.parse('2015-12-31 23:59:59', 'YYYY-M-D H:m:s')).to.eql(now);
1199
+ });
1200
+ it('YYYY-M-D H:m:s', function () {
1201
+ expect(isNaN(date.parse('2015-0-0 24:60:60', 'YYYY-M-D H:m:s'))).to.be(true);
1202
+ });
1203
+ it('YYYY-M-D H:m:s.SSS', function () {
1204
+ var now = new Date(2015, 0, 1, 0, 0, 0);
1205
+ expect(date.parse('2015-1-1 0:0:0.0', 'YYYY-M-D H:m:s.SSS')).to.eql(now);
1206
+ });
1207
+ it('YYYY-M-D H:m:s.SSS', function () {
1208
+ var now = new Date(2015, 11, 31, 23, 59, 59, 999);
1209
+ expect(date.parse('2015-12-31 23:59:59.999', 'YYYY-M-D H:m:s.SSS')).to.eql(now);
1210
+ });
1211
+ it('YYYY-M-D H:m:s.SSS', function () {
1212
+ expect(isNaN(date.parse('2015-0-0 24:60:61.000', 'YYYY-M-D H:m:s.SSS'))).to.be(true);
1213
+ });
1214
+ it('YYYY-M-D H:m:s.SS', function () {
1215
+ var now = new Date(2015, 0, 1, 0, 0, 0);
1216
+ expect(date.parse('2015-1-1 0:0:0.0', 'YYYY-M-D H:m:s.SS')).to.eql(now);
1217
+ });
1218
+ it('YYYY-M-D H:m:s.SS', function () {
1219
+ var now = new Date(2015, 11, 31, 23, 59, 59, 990);
1220
+ expect(date.parse('2015-12-31 23:59:59.99', 'YYYY-M-D H:m:s.SS')).to.eql(now);
1221
+ });
1222
+ it('YYYY-M-D H:m:s.SS', function () {
1223
+ expect(isNaN(date.parse('2015-0-0 24:60:61.00', 'YYYY-M-D H:m:s.SS'))).to.be(true);
1224
+ });
1225
+ it('YYYY-M-D H:m:s.S', function () {
1226
+ var now = new Date(2015, 0, 1, 0, 0, 0);
1227
+ expect(date.parse('2015-1-1 0:0:0.0', 'YYYY-M-D H:m:s.S')).to.eql(now);
1228
+ });
1229
+ it('YYYY-M-D H:m:s.S', function () {
1230
+ var now = new Date(2015, 11, 31, 23, 59, 59, 900);
1231
+ expect(date.parse('2015-12-31 23:59:59.9', 'YYYY-M-D H:m:s.S')).to.eql(now);
1232
+ });
1233
+ it('YYYY M D H m s S', function () {
1234
+ var now = new Date(2015, 11, 31, 23, 59, 59, 900);
1235
+ expect(date.parse('2015-12-31 23:59:59.9', 'YYYY M D H m s S')).to.eql(now);
1236
+ });
1237
+ it('YYYY-M-D H:m:s.S', function () {
1238
+ expect(isNaN(date.parse('2015-0-0 24:60:61.0', 'YYYY-M-D H:m:s.S'))).to.be(true);
1239
+ });
1240
+ it('YYYY-M-D H:m:s.SSS Z', function () {
1241
+ var now = new Date(Date.UTC(2015, 0, 1, 0, 0, 0));
1242
+ expect(date.parse('2015-1-1 0:0:0.0 +0000', 'YYYY-M-D H:m:s.SSS Z')).to.eql(now);
1243
+ });
1244
+ it('YYYY-M-D H:m:s.SSS Z', function () {
1245
+ var now = new Date(Date.UTC(2015, 11, 31, 23, 59, 59, 999));
1246
+ expect(date.parse('2015-12-31 23:00:59.999 -0059', 'YYYY-M-D H:m:s.SSS Z')).to.eql(now);
1247
+ });
1248
+ it('YYYY-M-D H:m:s.SSS Z', function () {
1249
+ var now = new Date(Date.UTC(2015, 11, 31, 21, 59, 59, 999));
1250
+ expect(date.parse('2015-12-31 09:59:59.999 -1200', 'YYYY-M-D H:m:s.SSS Z')).to.eql(now);
1251
+ });
1252
+ it('YYYY-M-D H:m:s.SSS Z', function () {
1253
+ expect(isNaN(date.parse('2015-12-31 09:58:59.999 -1201', 'YYYY-M-D H:m:s.SSS Z'))).to.be(true);
1254
+ });
1255
+ it('YYYY-M-D H:m:s.SSS Z', function () {
1256
+ var now = new Date(Date.UTC(2015, 11, 30, 22, 0, 59, 999));
1257
+ expect(date.parse('2015-12-31 12:00:59.999 +1400', 'YYYY-M-D H:m:s.SSS Z')).to.eql(now);
1258
+ });
1259
+ it('YYYY-M-D H:m:s.SSS Z', function () {
1260
+ expect(isNaN(date.parse('2015-12-31 12:01:59.999 +1401', 'YYYY-M-D H:m:s.SSS Z'))).to.be(true);
1261
+ });
1262
+ it('YYYY-M-D H:m:s.SSS ZZ', function () {
1263
+ var now = new Date(Date.UTC(2015, 0, 1, 0, 0, 0));
1264
+ expect(date.parse('2015-1-1 0:0:0.0 +00:00', 'YYYY-M-D H:m:s.SSS ZZ')).to.eql(now);
1265
+ });
1266
+ it('YYYY-M-D H:m:s.SSS ZZ', function () {
1267
+ var now = new Date(Date.UTC(2015, 11, 31, 23, 59, 59, 999));
1268
+ expect(date.parse('2015-12-31 23:00:59.999 -00:59', 'YYYY-M-D H:m:s.SSS ZZ')).to.eql(now);
1269
+ });
1270
+ it('YYYY-M-D H:m:s.SSS ZZ', function () {
1271
+ var now = new Date(Date.UTC(2015, 11, 31, 21, 59, 59, 999));
1272
+ expect(date.parse('2015-12-31 09:59:59.999 -12:00', 'YYYY-M-D H:m:s.SSS ZZ')).to.eql(now);
1273
+ });
1274
+ it('YYYY-M-D H:m:s.SSS ZZ', function () {
1275
+ expect(isNaN(date.parse('2015-12-31 09:58:59.999 -12:01', 'YYYY-M-D H:m:s.SSS ZZ'))).to.be(true);
1276
+ });
1277
+ it('YYYY-M-D H:m:s.SSS ZZ', function () {
1278
+ var now = new Date(Date.UTC(2015, 11, 30, 22, 0, 59, 999));
1279
+ expect(date.parse('2015-12-31 12:00:59.999 +14:00', 'YYYY-M-D H:m:s.SSS ZZ')).to.eql(now);
1280
+ });
1281
+ it('YYYY-M-D H:m:s.SSS ZZ', function () {
1282
+ expect(isNaN(date.parse('2015-12-31 12:01:59.999 +14:01', 'YYYY-M-D H:m:s.SSS ZZ'))).to.be(true);
1283
+ });
1284
+ it('MMDDHHmmssSSS', function () {
1285
+ var now = new Date(1970, 11, 31, 23, 59, 59, 999);
1286
+ expect(date.parse('1231235959999', 'MMDDHHmmssSSS')).to.eql(now);
1287
+ });
1288
+ it('DDHHmmssSSS', function () {
1289
+ var now = new Date(1970, 0, 31, 23, 59, 59, 999);
1290
+ expect(date.parse('31235959999', 'DDHHmmssSSS')).to.eql(now);
1291
+ });
1292
+ it('HHmmssSSS', function () {
1293
+ var now = new Date(1970, 0, 1, 23, 59, 59, 999);
1294
+ expect(date.parse('235959999', 'HHmmssSSS')).to.eql(now);
1295
+ });
1296
+ it('mmssSSS', function () {
1297
+ var now = new Date(1970, 0, 1, 0, 59, 59, 999);
1298
+ expect(date.parse('5959999', 'mmssSSS')).to.eql(now);
1299
+ });
1300
+ it('ssSSS', function () {
1301
+ var now = new Date(1970, 0, 1, 0, 0, 59, 999);
1302
+ expect(date.parse('59999', 'ssSSS')).to.eql(now);
1303
+ });
1304
+ it('SSS', function () {
1305
+ var now = new Date(1970, 0, 1, 0, 0, 0, 999);
1306
+ expect(date.parse('999', 'SSS')).to.eql(now);
1307
+ });
1308
+ it('Z', function () {
1309
+ expect(isNaN(date.parse('+000', 'Z'))).to.be(true);
1310
+ });
1311
+ it('Z', function () {
1312
+ expect(isNaN(date.parse('+00', 'Z'))).to.be(true);
1313
+ });
1314
+ it('Z', function () {
1315
+ expect(isNaN(date.parse('+0', 'Z'))).to.be(true);
1316
+ });
1317
+ it('Z', function () {
1318
+ expect(isNaN(date.parse('0', 'Z'))).to.be(true);
1319
+ });
1320
+ it('Z', function () {
1321
+ expect(isNaN(date.parse('0000', 'Z'))).to.be(true);
1322
+ });
1323
+ it('Z', function () {
1324
+ expect(isNaN(date.parse('00000', 'Z'))).to.be(true);
1325
+ });
1326
+ it('ZZ', function () {
1327
+ expect(isNaN(date.parse('+00:0', 'ZZ'))).to.be(true);
1328
+ });
1329
+ it('ZZ', function () {
1330
+ expect(isNaN(date.parse('+00:', 'ZZ'))).to.be(true);
1331
+ });
1332
+ it('ZZ', function () {
1333
+ expect(isNaN(date.parse('+0:', 'ZZ'))).to.be(true);
1334
+ });
1335
+ it('ZZ', function () {
1336
+ expect(isNaN(date.parse('0:', 'ZZ'))).to.be(true);
1337
+ });
1338
+ it('ZZ', function () {
1339
+ expect(isNaN(date.parse('00:00', 'ZZ'))).to.be(true);
1340
+ });
1341
+ it('ZZ', function () {
1342
+ expect(isNaN(date.parse('00:000', 'ZZ'))).to.be(true);
1343
+ });
1344
+ it('foo', function () {
1345
+ expect(isNaN(date.parse('20150101235959', 'foo'))).to.be(true);
1346
+ });
1347
+ it('bar', function () {
1348
+ expect(isNaN(date.parse('20150101235959', 'bar'))).to.be(true);
1349
+ });
1350
+ it('YYYYMMDD', function () {
1351
+ expect(isNaN(date.parse('20150101235959', 'YYYYMMDD'))).to.be(true);
1352
+ });
1353
+ it('20150101235959', function () {
1354
+ expect(isNaN(date.parse('20150101235959', '20150101235959'))).to.be(true);
1355
+ });
1356
+ it('YYYY?M?D H?m?s?S', function () {
1357
+ expect(isNaN(date.parse('2015-12-31 23:59:59.9', 'YYYY?M?D H?m?s?S'))).to.be(true);
1358
+ });
1359
+ it('[Y]YYYY[M]M[D]D[H]H[m]m[s]s[S]S', function () {
1360
+ var now = new Date(2015, 11, 31, 23, 59, 59, 900);
1361
+ expect(date.parse('Y2015M12D31H23m59s59S9', '[Y]YYYY[M]M[D]D[H]H[m]m[s]s[S]S')).to.eql(now);
1362
+ });
1363
+ it('[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]', function () {
1364
+ expect(isNaN(date.parse('[Y]2015[M]12[D]31[H]23[m]59[s]59[S]9', '[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]'))).to.be(true);
1365
+ });
1366
+ it(' ', function () {
1367
+ expect(isNaN(date.parse('20151231235959900', ' '))).to.be(true);
26
1368
  });
27
1369
  });
28
1370
 
1371
+ describe('transform', function () {
1372
+ it('D/M/YYYY => M/D/YYYY', function () {
1373
+ expect(date.transform('3/8/2020', 'D/M/YYYY', 'M/D/YYYY')).to.eql('8/3/2020');
1374
+ });
1375
+ it('HH:mm => hh:mm A', function () {
1376
+ expect(date.transform('13:05', 'HH:mm', 'hh:mm A')).to.eql('01:05 PM');
1377
+ });
1378
+ it('HH:mm => hh:mm A, output as UTC', function () {
1379
+ var utc = date.format(new Date(2020, 3, 1, 13, 5), 'hh:mm A', true);
1380
+ expect(date.transform('13:05', 'HH:mm', 'hh:mm A', true)).to.eql(utc);
1381
+ });
1382
+ it('D/M/YYYY => M/D/YYYY, with compile', function () {
1383
+ var arg1 = date.compile('D/M/YYYY');
1384
+ var arg2 = date.compile('M/D/YYYY');
1385
+ expect(date.transform('3/8/2020', arg1, arg2)).to.eql('8/3/2020');
1386
+ });
1387
+ });
29
1388
 
30
- after(async () => {
31
- await page.close();
32
- await browser.close();
33
- server.close();
1389
+ describe('addition', function () {
1390
+ it('add a year', function () {
1391
+ var date1 = new Date(1969, 11, 31, 23, 59, 59, 999);
1392
+ var date2 = new Date(1970, 11, 31, 23, 59, 59, 999);
1393
+ expect(date.addYears(date1, 1, true)).to.eql(date2);
1394
+ });
1395
+ it('subtract a year', function () {
1396
+ var date1 = new Date(1970, 11, 31, 23, 59, 59, 999);
1397
+ var date2 = new Date(1969, 11, 31, 23, 59, 59, 999);
1398
+ expect(date.addYears(date1, -1, true)).to.eql(date2);
1399
+ });
1400
+ it('add a month', function () {
1401
+ var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1402
+ var date2 = new Date(2014, 12, 31, 23, 59, 59, 999);
1403
+ expect(date.addMonths(date1, 1, true)).to.eql(date2);
1404
+ });
1405
+ it('subtract a month', function () {
1406
+ var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1407
+ var date2 = new Date(2014, 10, 31, 23, 59, 59, 999);
1408
+ expect(date.addMonths(date1, -1, true)).to.eql(date2);
1409
+ });
1410
+ it('add a day', function () {
1411
+ var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1412
+ var date2 = new Date(2014, 11, 32, 23, 59, 59, 999);
1413
+ expect(date.addDays(date1, 1, true)).to.eql(date2);
1414
+ });
1415
+ it('subtract a day', function () {
1416
+ var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1417
+ var date2 = new Date(2014, 11, 30, 23, 59, 59, 999);
1418
+ expect(date.addDays(date1, -1, true)).to.eql(date2);
1419
+ });
1420
+ it('add an hour', function () {
1421
+ var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1422
+ var date2 = new Date(2014, 11, 31, 24, 59, 59, 999);
1423
+ expect(date.addHours(date1, 1, true)).to.eql(date2);
1424
+ });
1425
+ it('subtract an hour', function () {
1426
+ var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1427
+ var date2 = new Date(2014, 11, 31, 22, 59, 59, 999);
1428
+ expect(date.addHours(date1, -1, true)).to.eql(date2);
1429
+ });
1430
+ it('add a minute', function () {
1431
+ var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1432
+ var date2 = new Date(2014, 11, 31, 23, 60, 59, 999);
1433
+ expect(date.addMinutes(date1, 1, true)).to.eql(date2);
1434
+ });
1435
+ it('subtract a minute', function () {
1436
+ var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1437
+ var date2 = new Date(2014, 11, 31, 23, 58, 59, 999);
1438
+ expect(date.addMinutes(date1, -1, true)).to.eql(date2);
1439
+ });
1440
+ it('add a second', function () {
1441
+ var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1442
+ var date2 = new Date(2014, 11, 31, 23, 59, 60, 999);
1443
+ expect(date.addSeconds(date1, 1, true)).to.eql(date2);
1444
+ });
1445
+ it('subtract a second', function () {
1446
+ var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1447
+ var date2 = new Date(2014, 11, 31, 23, 59, 58, 999);
1448
+ expect(date.addSeconds(date1, -1, true)).to.eql(date2);
1449
+ });
1450
+ it('add a millisecond', function () {
1451
+ var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1452
+ var date2 = new Date(2014, 11, 31, 23, 59, 59, 1000);
1453
+ expect(date.addMilliseconds(date1, 1, true)).to.eql(date2);
1454
+ });
1455
+ it('subtract a millisecond', function () {
1456
+ var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1457
+ var date2 = new Date(2014, 11, 31, 23, 59, 59, 998);
1458
+ expect(date.addMilliseconds(date1, -1, true)).to.eql(date2);
1459
+ });
34
1460
  });
35
1461
 
36
- //import { test, expect } from '@playwright/test';
37
- //
38
- //test.beforeEach(async ({ page }) => {
39
- // await page.goto('test.html');
40
- //});
41
- //
42
- //test.describe('format', () => {
43
- // test('"YYYY" equals to "0001"', async ({ page }) => {
44
- // const result = await page.evaluate(() => {
45
- // const now = new Date(0, -1899 * 12, 1);
46
- // return date.format(now, 'YYYY');
47
- // });
48
- // expect(result).toBe('0001');
49
- // });
50
- //
51
- //});
52
- //
53
- //test.afterEach(async ({ page }) => {
54
- // await page.close();
55
- //});
1462
+ describe('subtraction', function () {
1463
+ it('A year is 365 days', function () {
1464
+ var date1 = new Date(2015, 11, 31, 23, 59, 59, 999);
1465
+ var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1466
+ expect(date.subtract(date1, date2).toDays()).to.equal(365);
1467
+ expect(date.subtract(date1, date2).toHours()).to.equal(365 * 24);
1468
+ expect(date.subtract(date1, date2).toMinutes()).to.equal(365 * 24 * 60);
1469
+ expect(date.subtract(date1, date2).toSeconds()).to.equal(365 * 24 * 60 * 60);
1470
+ expect(date.subtract(date1, date2).toMilliseconds()).to.equal(365 * 24 * 60 * 60 * 1000);
1471
+ });
1472
+ it('A year is 365 days (reverse)', function () {
1473
+ var date1 = new Date(2015, 11, 31, 23, 59, 59, 999);
1474
+ var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1475
+ expect(date.subtract(date2, date1).toDays()).to.equal(-365);
1476
+ expect(date.subtract(date2, date1).toHours()).to.equal(-365 * 24);
1477
+ expect(date.subtract(date2, date1).toMinutes()).to.equal(-365 * 24 * 60);
1478
+ expect(date.subtract(date2, date1).toSeconds()).to.equal(-365 * 24 * 60 * 60);
1479
+ expect(date.subtract(date2, date1).toMilliseconds()).to.equal(-365 * 24 * 60 * 60 * 1000);
1480
+ });
1481
+ it('A month is 31 days', function () {
1482
+ var date1 = new Date(2014, 12, 31, 23, 59, 59, 999);
1483
+ var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1484
+ expect(date.subtract(date1, date2).toDays()).to.equal(31);
1485
+ expect(date.subtract(date1, date2).toHours()).to.equal(31 * 24);
1486
+ expect(date.subtract(date1, date2).toMinutes()).to.equal(31 * 24 * 60);
1487
+ expect(date.subtract(date1, date2).toSeconds()).to.equal(31 * 24 * 60 * 60);
1488
+ expect(date.subtract(date1, date2).toMilliseconds()).to.equal(31 * 24 * 60 * 60 * 1000);
1489
+ });
1490
+ it('A month is 31 days (reverse)', function () {
1491
+ var date1 = new Date(2014, 12, 31, 23, 59, 59, 999);
1492
+ var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1493
+ expect(date.subtract(date2, date1).toDays()).to.equal(-31);
1494
+ expect(date.subtract(date2, date1).toHours()).to.equal(-31 * 24);
1495
+ expect(date.subtract(date2, date1).toMinutes()).to.equal(-31 * 24 * 60);
1496
+ expect(date.subtract(date2, date1).toSeconds()).to.equal(-31 * 24 * 60 * 60);
1497
+ expect(date.subtract(date2, date1).toMilliseconds()).to.equal(-31 * 24 * 60 * 60 * 1000);
1498
+ });
1499
+ it('A day', function () {
1500
+ var date1 = new Date(2014, 11, 32, 23, 59, 59, 999);
1501
+ var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1502
+ expect(date.subtract(date1, date2).toDays()).to.equal(1);
1503
+ expect(date.subtract(date1, date2).toHours()).to.equal(24);
1504
+ expect(date.subtract(date1, date2).toMinutes()).to.equal(24 * 60);
1505
+ expect(date.subtract(date1, date2).toSeconds()).to.equal(24 * 60 * 60);
1506
+ expect(date.subtract(date1, date2).toMilliseconds()).to.equal(24 * 60 * 60 * 1000);
1507
+ });
1508
+ it('A day (reverse)', function () {
1509
+ var date1 = new Date(2014, 11, 32, 23, 59, 59, 999);
1510
+ var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1511
+ expect(date.subtract(date2, date1).toDays()).to.equal(-1);
1512
+ expect(date.subtract(date2, date1).toHours()).to.equal(-1 * 24);
1513
+ expect(date.subtract(date2, date1).toMinutes()).to.equal(-1 * 24 * 60);
1514
+ expect(date.subtract(date2, date1).toSeconds()).to.equal(-1 * 24 * 60 * 60);
1515
+ expect(date.subtract(date2, date1).toMilliseconds()).to.equal(-1 * 24 * 60 * 60 * 1000);
1516
+ });
1517
+ it('An hour', function () {
1518
+ var date1 = new Date(2014, 11, 31, 24, 59, 59, 999);
1519
+ var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1520
+ expect(date.subtract(date1, date2).toDays()).to.equal(1 / 24);
1521
+ expect(date.subtract(date1, date2).toHours()).to.equal(1);
1522
+ expect(date.subtract(date1, date2).toMinutes()).to.equal(60);
1523
+ expect(date.subtract(date1, date2).toSeconds()).to.equal(60 * 60);
1524
+ expect(date.subtract(date1, date2).toMilliseconds()).to.equal(60 * 60 * 1000);
1525
+ });
1526
+ it('An hour (reverse)', function () {
1527
+ var date1 = new Date(2014, 11, 31, 24, 59, 59, 999);
1528
+ var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1529
+ expect(date.subtract(date2, date1).toDays()).to.equal(-1 / 24);
1530
+ expect(date.subtract(date2, date1).toHours()).to.equal(-1);
1531
+ expect(date.subtract(date2, date1).toMinutes()).to.equal(-1 * 60);
1532
+ expect(date.subtract(date2, date1).toSeconds()).to.equal(-1 * 60 * 60);
1533
+ expect(date.subtract(date2, date1).toMilliseconds()).to.equal(-1 * 60 * 60 * 1000);
1534
+ });
1535
+ it('A minute', function () {
1536
+ var date1 = new Date(2014, 11, 31, 23, 60, 59, 999);
1537
+ var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1538
+ expect(date.subtract(date1, date2).toDays()).to.equal(1 / (24 * 60));
1539
+ expect(date.subtract(date1, date2).toHours()).to.equal(1 / 60);
1540
+ expect(date.subtract(date1, date2).toMinutes()).to.equal(1);
1541
+ expect(date.subtract(date1, date2).toSeconds()).to.equal(60);
1542
+ expect(date.subtract(date1, date2).toMilliseconds()).to.equal(60 * 1000);
1543
+ });
1544
+ it('A minute (reverse)', function () {
1545
+ var date1 = new Date(2014, 11, 31, 23, 60, 59, 999);
1546
+ var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1547
+ expect(date.subtract(date2, date1).toDays()).to.equal(-1 / (24 * 60));
1548
+ expect(date.subtract(date2, date1).toHours()).to.equal(-1 / 60);
1549
+ expect(date.subtract(date2, date1).toMinutes()).to.equal(-1);
1550
+ expect(date.subtract(date2, date1).toSeconds()).to.equal(-1 * 60);
1551
+ expect(date.subtract(date2, date1).toMilliseconds()).to.equal(-1 * 60 * 1000);
1552
+ });
1553
+ it('A second', function () {
1554
+ var date1 = new Date(2014, 11, 31, 23, 59, 60, 999);
1555
+ var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1556
+ expect(date.subtract(date1, date2).toDays()).to.equal(1 / (24 * 60 * 60));
1557
+ expect(date.subtract(date1, date2).toHours()).to.equal(1 / (60 * 60));
1558
+ expect(date.subtract(date1, date2).toMinutes()).to.equal(1 / 60);
1559
+ expect(date.subtract(date1, date2).toSeconds()).to.equal(1);
1560
+ expect(date.subtract(date1, date2).toMilliseconds()).to.equal(1000);
1561
+ });
1562
+ it('A second (reverse)', function () {
1563
+ var date1 = new Date(2014, 11, 31, 23, 59, 60, 999);
1564
+ var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1565
+ expect(date.subtract(date2, date1).toDays()).to.equal(-1 / (24 * 60 * 60));
1566
+ expect(date.subtract(date2, date1).toHours()).to.equal(-1 / (60 * 60));
1567
+ expect(date.subtract(date2, date1).toMinutes()).to.equal(-1 / 60);
1568
+ expect(date.subtract(date2, date1).toSeconds()).to.equal(-1);
1569
+ expect(date.subtract(date2, date1).toMilliseconds()).to.equal(-1 * 1000);
1570
+ });
1571
+ it('A millisecond', function () {
1572
+ var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1573
+ var date2 = new Date(2014, 11, 31, 23, 59, 59, 998);
1574
+ expect(date.subtract(date1, date2).toDays()).to.equal(1 / (24 * 60 * 60 * 1000));
1575
+ expect(date.subtract(date1, date2).toHours()).to.equal(1 / (60 * 60 * 1000));
1576
+ expect(date.subtract(date1, date2).toMinutes()).to.equal(1 / (60 * 1000));
1577
+ expect(date.subtract(date1, date2).toSeconds()).to.equal(1 / 1000);
1578
+ expect(date.subtract(date1, date2).toMilliseconds()).to.equal(1);
1579
+ });
1580
+ it('A millisecond (reverse)', function () {
1581
+ var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1582
+ var date2 = new Date(2014, 11, 31, 23, 59, 59, 998);
1583
+ expect(date.subtract(date2, date1).toDays()).to.equal(-1 / (24 * 60 * 60 * 1000));
1584
+ expect(date.subtract(date2, date1).toHours()).to.equal(-1 / (60 * 60 * 1000));
1585
+ expect(date.subtract(date2, date1).toMinutes()).to.equal(-1 / (60 * 1000));
1586
+ expect(date.subtract(date2, date1).toSeconds()).to.equal(-1 / 1000);
1587
+ expect(date.subtract(date2, date1).toMilliseconds()).to.equal(-1);
1588
+ });
1589
+ });
56
1590
 
1591
+ describe('validation', function () {
1592
+ it('2014-12-31 12:34:56.789 is valid', function () {
1593
+ expect(date.isValid('20141231123456789', 'YYYYMMDDHHmmssSSS')).to.be(true);
1594
+ });
1595
+ it('2012-2-29 is valid', function () {
1596
+ expect(date.isValid('2012-2-29', 'YYYY-M-D')).to.be(true);
1597
+ });
1598
+ it('2100-2-29 is invalid', function () {
1599
+ expect(date.isValid('2100-2-29', 'YYYY-M-D')).to.be(false);
1600
+ });
1601
+ it('2000-2-29 is valid', function () {
1602
+ expect(date.isValid('2000-2-29', 'YYYY-M-D')).to.be(true);
1603
+ });
1604
+ it('2014-2-29 is invalid', function () {
1605
+ expect(date.isValid('2014-2-29', 'YYYY-M-D')).to.be(false);
1606
+ });
1607
+ it('2014-2-28 is valid', function () {
1608
+ expect(date.isValid('2014-2-28', 'YYYY-M-D')).to.be(true);
1609
+ });
1610
+ it('2014-4-31 is invalid', function () {
1611
+ expect(date.isValid('2014-4-31', 'YYYY-M-D')).to.be(false);
1612
+ });
1613
+ it('24:00 is invalid', function () {
1614
+ expect(date.isValid('2014-4-30 24:00', 'YYYY-M-D H:m')).to.be(false);
1615
+ });
1616
+ it('13:00 PM is invalid', function () {
1617
+ expect(date.isValid('2014-4-30 13:00 PM', 'YYYY-M-D h:m A')).to.be(false);
1618
+ });
1619
+ it('23:60 is invalid', function () {
1620
+ expect(date.isValid('2014-4-30 23:60', 'YYYY-M-D H:m')).to.be(false);
1621
+ });
1622
+ it('23:59:60 is invalid', function () {
1623
+ expect(date.isValid('2014-4-30 23:59:60', 'YYYY-M-D H:m:s')).to.be(false);
1624
+ });
1625
+ it('All zero is invalid', function () {
1626
+ expect(date.isValid('00000000000000000', 'YYYYMMDDHHmmssSSS')).to.be(false);
1627
+ });
1628
+ it('All nine is invalid', function () {
1629
+ expect(date.isValid('99999999999999999', 'YYYYMMDDHHmmssSSS')).to.be(false);
1630
+ });
1631
+ it('foo is invalid', function () {
1632
+ expect(date.isValid('20150101235959', 'foo')).to.be(false);
1633
+ });
1634
+ it('bar is invalid', function () {
1635
+ expect(date.isValid('20150101235959', 'bar')).to.be(false);
1636
+ });
1637
+ it('YYYYMMDD is invalid', function () {
1638
+ expect(date.isValid('20150101235959', 'YYYYMMDD')).to.be(false);
1639
+ });
1640
+ it('20150101235959 is invalid', function () {
1641
+ expect(date.isValid('20150101235959', '20150101235959')).to.be(false);
1642
+ });
1643
+ it('Y == 0', function () {
1644
+ var dt = { Y: 0, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1645
+ expect(date.isValid(dt)).to.be(false);
1646
+ });
1647
+ it('Y > 0', function () {
1648
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1649
+ expect(date.isValid(dt)).to.be(true);
1650
+ });
1651
+ it('Y < 0', function () {
1652
+ var dt = { Y: -1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1653
+ expect(date.isValid(dt)).to.be(false);
1654
+ });
1655
+ it('Y > 9999', function () {
1656
+ var dt = { Y: 100000, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1657
+ expect(date.isValid(dt)).to.be(false);
1658
+ });
1659
+ it('M == 0', function () {
1660
+ var dt = { Y: 1, M: 0, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1661
+ expect(date.isValid(dt)).to.be(false);
1662
+ });
1663
+ it('M > 0', function () {
1664
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1665
+ expect(date.isValid(dt)).to.be(true);
1666
+ });
1667
+ it('M < 0', function () {
1668
+ var dt = { Y: 1, M: -1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1669
+ expect(date.isValid(dt)).to.be(false);
1670
+ });
1671
+ it('M > 12', function () {
1672
+ var dt = { Y: 1, M: 13, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1673
+ expect(date.isValid(dt)).to.be(false);
1674
+ });
1675
+ it('M < 13', function () {
1676
+ var dt = { Y: 1, M: 12, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1677
+ expect(date.isValid(dt)).to.be(true);
1678
+ });
1679
+ it('D == 0', function () {
1680
+ var dt = { Y: 1, M: 1, D: 0, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1681
+ expect(date.isValid(dt)).to.be(false);
1682
+ });
1683
+ it('D > 0', function () {
1684
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1685
+ expect(date.isValid(dt)).to.be(true);
1686
+ });
1687
+ it('D < 0', function () {
1688
+ var dt = { Y: 1, M: 1, D: -1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1689
+ expect(date.isValid(dt)).to.be(false);
1690
+ });
1691
+ it('D == 28', function () {
1692
+ var dt = { Y: 1, M: 2, D: 28, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1693
+ expect(date.isValid(dt)).to.be(true);
1694
+ });
1695
+ it('D == 29', function () {
1696
+ var dt = { Y: 2000, M: 2, D: 29, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1697
+ expect(date.isValid(dt)).to.be(true);
1698
+ });
1699
+ it('D == 30', function () {
1700
+ var dt = { Y: 2000, M: 2, D: 30, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1701
+ expect(date.isValid(dt)).to.be(false);
1702
+ });
1703
+ it('D == 31', function () {
1704
+ var dt = { Y: 1, M: 4, D: 31, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1705
+ expect(date.isValid(dt)).to.be(false);
1706
+ });
1707
+ it('D == 31', function () {
1708
+ var dt = { Y: 1, M: 3, D: 31, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1709
+ expect(date.isValid(dt)).to.be(true);
1710
+ });
1711
+ it('D > 31', function () {
1712
+ var dt = { Y: 1, M: 1, D: 32, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1713
+ expect(date.isValid(dt)).to.be(false);
1714
+ });
1715
+ it('H == 0', function () {
1716
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1717
+ expect(date.isValid(dt)).to.be(true);
1718
+ });
1719
+ it('H > 0', function () {
1720
+ var dt = { Y: 1, M: 1, D: 1, H: 1, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1721
+ expect(date.isValid(dt)).to.be(true);
1722
+ });
1723
+ it('H < 0', function () {
1724
+ var dt = { Y: 1, M: 1, D: 1, H: -1, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1725
+ expect(date.isValid(dt)).to.be(false);
1726
+ });
1727
+ it('H > 23', function () {
1728
+ var dt = { Y: 1, M: 1, D: 1, H: 24, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1729
+ expect(date.isValid(dt)).to.be(false);
1730
+ });
1731
+ it('H < 24', function () {
1732
+ var dt = { Y: 1, M: 1, D: 1, H: 23, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1733
+ expect(date.isValid(dt)).to.be(true);
1734
+ });
1735
+ it('m == 0', function () {
1736
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1737
+ expect(date.isValid(dt)).to.be(true);
1738
+ });
1739
+ it('m > 0', function () {
1740
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 1, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1741
+ expect(date.isValid(dt)).to.be(true);
1742
+ });
1743
+ it('m < 0', function () {
1744
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: -1, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1745
+ expect(date.isValid(dt)).to.be(false);
1746
+ });
1747
+ it('m > 59', function () {
1748
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 60, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1749
+ expect(date.isValid(dt)).to.be(false);
1750
+ });
1751
+ it('m < 60', function () {
1752
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 59, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1753
+ expect(date.isValid(dt)).to.be(true);
1754
+ });
1755
+ it('s == 0', function () {
1756
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1757
+ expect(date.isValid(dt)).to.be(true);
1758
+ });
1759
+ it('s > 0', function () {
1760
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 1, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1761
+ expect(date.isValid(dt)).to.be(true);
1762
+ });
1763
+ it('s < 0', function () {
1764
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: -1, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1765
+ expect(date.isValid(dt)).to.be(false);
1766
+ });
1767
+ it('s > 59', function () {
1768
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 60, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1769
+ expect(date.isValid(dt)).to.be(false);
1770
+ });
1771
+ it('s < 60', function () {
1772
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 59, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1773
+ expect(date.isValid(dt)).to.be(true);
1774
+ });
1775
+ it('S == 0', function () {
1776
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1777
+ expect(date.isValid(dt)).to.be(true);
1778
+ });
1779
+ it('S > 0', function () {
1780
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 1, Z: 0, _index: 1, _length: 1, _match: 1 };
1781
+ expect(date.isValid(dt)).to.be(true);
1782
+ });
1783
+ it('S < 0', function () {
1784
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: -1, Z: 0, _index: 1, _length: 1, _match: 1 };
1785
+ expect(date.isValid(dt)).to.be(false);
1786
+ });
1787
+ it('S > 999', function () {
1788
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 1000, Z: 0, _index: 1, _length: 1, _match: 1 };
1789
+ expect(date.isValid(dt)).to.be(false);
1790
+ });
1791
+ it('S < 1000', function () {
1792
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 999, Z: 0, _index: 1, _length: 1, _match: 1 };
1793
+ expect(date.isValid(dt)).to.be(true);
1794
+ });
1795
+ it('Z < -840', function () {
1796
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: -841, _index: 1, _length: 1, _match: 1 };
1797
+ expect(date.isValid(dt)).to.be(false);
1798
+ });
1799
+ it('Z > -841', function () {
1800
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: -840, _index: 1, _length: 1, _match: 1 };
1801
+ expect(date.isValid(dt)).to.be(true);
1802
+ });
1803
+ it('Z > 720', function () {
1804
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 721, _index: 1, _length: 1, _match: 1 };
1805
+ expect(date.isValid(dt)).to.be(false);
1806
+ });
1807
+ it('Z < 721', function () {
1808
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 720, _index: 1, _length: 1, _match: 1 };
1809
+ expect(date.isValid(dt)).to.be(true);
1810
+ });
1811
+ it('index == 0', function () {
1812
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 0, _match: 1 };
1813
+ expect(date.isValid(dt)).to.be(false);
1814
+ });
1815
+ it('index > 0', function () {
1816
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1817
+ expect(date.isValid(dt)).to.be(true);
1818
+ });
1819
+ it('length < 0', function () {
1820
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: -1, _length: -1, _match: 1 };
1821
+ expect(date.isValid(dt)).to.be(false);
1822
+ });
1823
+ it('length == 0', function () {
1824
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 0, _match: 1 };
1825
+ expect(date.isValid(dt)).to.be(false);
1826
+ });
1827
+ it('length > 0', function () {
1828
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 1, _match: 1 };
1829
+ expect(date.isValid(dt)).to.be(false);
1830
+ });
1831
+ it('length < 0', function () {
1832
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: -1, _match: 1 };
1833
+ expect(date.isValid(dt)).to.be(false);
1834
+ });
1835
+ it('match == 0', function () {
1836
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 0 };
1837
+ expect(date.isValid(dt)).to.be(false);
1838
+ });
1839
+ it('match > 0', function () {
1840
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1841
+ expect(date.isValid(dt)).to.be(true);
1842
+ });
1843
+ it('match < 0', function () {
1844
+ var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: -1 };
1845
+ expect(date.isValid(dt)).to.be(false);
1846
+ });
1847
+ });
57
1848
 
1849
+ describe('leap year', function () {
1850
+ it('2012-2-29 It is valid.', function () {
1851
+ expect(date.isLeapYear(new Date(2012, 0, 1).getFullYear())).to.be(true);
1852
+ });
1853
+ it('2100-2-29 It is invalid.', function () {
1854
+ expect(date.isLeapYear(new Date(2100, 0, 1).getFullYear())).to.be(false);
1855
+ });
1856
+ it('2000-2-29 It is valid.', function () {
1857
+ expect(date.isLeapYear(new Date(2000, 0, 1).getFullYear())).to.be(true);
1858
+ });
1859
+ it('2014-2-29 It is invalid.', function () {
1860
+ expect(date.isLeapYear(new Date(2014, 0, 1).getFullYear())).to.be(false);
1861
+ });
1862
+ });
58
1863
 
1864
+ describe('the same day', function () {
1865
+ it('the same', function () {
1866
+ var date1 = new Date(2016, 0, 1, 2, 34, 56, 789);
1867
+ var date2 = new Date(2016, 0, 1, 23, 4, 56, 789);
1868
+ expect(date.isSameDay(date1, date2)).to.be(true);
1869
+ });
1870
+ it('the same', function () {
1871
+ var date1 = new Date(1916, 0, 1, 2, 34, 56, 789);
1872
+ var date2 = new Date(1916, 0, 1, 23, 4, 56, 789);
1873
+ expect(date.isSameDay(date1, date2)).to.be(true);
1874
+ });
1875
+ it('not the same', function () {
1876
+ var date1 = new Date(2016, 0, 1, 23, 59, 59, 999);
1877
+ var date2 = new Date(2016, 0, 2, 0, 0, 0, 0);
1878
+ expect(date.isSameDay(date1, date2)).to.be(false);
1879
+ });
1880
+ it('not the same', function () {
1881
+ var date1 = new Date(1916, 0, 1, 23, 59, 59, 999);
1882
+ var date2 = new Date(1916, 0, 2, 0, 0, 0, 0);
1883
+ expect(date.isSameDay(date1, date2)).to.be(false);
1884
+ });
1885
+ });
59
1886
 
60
- //(function (global) {
61
- // 'use strict';
62
- //
63
- // var expect = global.expect || require('expect.js'),
64
- // date = global.date || require('../date-and-time');
65
- //
66
- // describe('format', function () {
67
- // it('"YYYY" equals to "0001"', function () {
68
- // var now = new Date(0, -1899 * 12, 1);
69
- // expect(date.format(now, 'YYYY')).to.equal('0001');
70
- // });
71
- // it('"YYYY" equals to "0099"', function () {
72
- // var now = new Date(0, -1801 * 12, 1);
73
- // expect(date.format(now, 'YYYY')).to.equal('0099');
74
- // });
75
- // it('"YYYY" equals to "0100"', function () {
76
- // var now = new Date(100, 0, 1);
77
- // expect(date.format(now, 'YYYY')).to.equal('0100');
78
- // });
79
- // it('"YYYY" equals to "1800"', function () {
80
- // var now = new Date(1800, 0, 1);
81
- // expect(date.format(now, 'YYYY')).to.equal('1800');
82
- // });
83
- // it('"YYYY" equals to "1899"', function () {
84
- // var now = new Date(1899, 0, 1);
85
- // expect(date.format(now, 'YYYY')).to.equal('1899');
86
- // });
87
- // it('"YYYY" equals to "1900"', function () {
88
- // var now = new Date(1900, 0, 1);
89
- // expect(date.format(now, 'YYYY')).to.equal('1900');
90
- // });
91
- // it('"YYYY" equals to "1901"', function () {
92
- // var now = new Date(1901, 0, 1);
93
- // expect(date.format(now, 'YYYY')).to.equal('1901');
94
- // });
95
- // it('"YYYY" equals to "1970"', function () {
96
- // var now = new Date(1970, 0, 1);
97
- // expect(date.format(now, 'YYYY')).to.equal('1970');
98
- // });
99
- // it('"YYYY" equals to "1999"', function () {
100
- // var now = new Date(1999, 0, 1);
101
- // expect(date.format(now, 'YYYY')).to.equal('1999');
102
- // });
103
- // it('"YYYY" equals to "2000"', function () {
104
- // var now = new Date(2000, 0, 1);
105
- // expect(date.format(now, 'YYYY')).to.equal('2000');
106
- // });
107
- // it('"YYYY" equals to "2001"', function () {
108
- // var now = new Date(2001, 0, 1);
109
- // expect(date.format(now, 'YYYY')).to.equal('2001');
110
- // });
111
- // it('"YYYY" equals to "9999"', function () {
112
- // var now = new Date(9999, 0, 1);
113
- // expect(date.format(now, 'YYYY')).to.equal('9999');
114
- // });
115
- // it('"YYYY" as UTC equals to "XXXX"', function () {
116
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789),
117
- // utc = true;
118
- // expect(date.format(now, 'YYYY', utc)).to.equal('' + now.getUTCFullYear());
119
- // });
120
- // it('"YY" equals to "00"', function () {
121
- // var now = new Date(0, 0, 1);
122
- // expect(date.format(now, 'YY')).to.equal('00');
123
- // });
124
- // it('"YY" equals to "01"', function () {
125
- // var now = new Date(0, -1899 * 12, 1);
126
- // expect(date.format(now, 'YY')).to.equal('01');
127
- // });
128
- // it('"YY" equals to "99"', function () {
129
- // var now = new Date(0, -1801 * 12, 1);
130
- // expect(date.format(now, 'YY')).to.equal('99');
131
- // });
132
- // it('"YY" equals to "00"', function () {
133
- // var now = new Date(100, 0, 1);
134
- // expect(date.format(now, 'YY')).to.equal('00');
135
- // });
136
- // it('"YY" equals to "01"', function () {
137
- // var now = new Date(101, 0, 1);
138
- // expect(date.format(now, 'YY')).to.equal('01');
139
- // });
140
- // it('"YY" equals to "99"', function () {
141
- // var now = new Date(199, 0, 1);
142
- // expect(date.format(now, 'YY')).to.equal('99');
143
- // });
144
- // it('"YY" equals to "00"', function () {
145
- // var now = new Date(1900, 0, 1);
146
- // expect(date.format(now, 'YY')).to.equal('00');
147
- // });
148
- // it('"YY" equals to "01"', function () {
149
- // var now = new Date(1901, 0, 1);
150
- // expect(date.format(now, 'YY')).to.equal('01');
151
- // });
152
- // it('"YY" equals to "99"', function () {
153
- // var now = new Date(1999, 0, 1);
154
- // expect(date.format(now, 'YY')).to.equal('99');
155
- // });
156
- // it('"YY" equals to "00"', function () {
157
- // var now = new Date(2000, 0, 1);
158
- // expect(date.format(now, 'YY')).to.equal('00');
159
- // });
160
- // it('"YY" equals to "01"', function () {
161
- // var now = new Date(2001, 0, 1);
162
- // expect(date.format(now, 'YY')).to.equal('01');
163
- // });
164
- // it('"YY" equals to "99"', function () {
165
- // var now = new Date(2099, 0, 1);
166
- // expect(date.format(now, 'YY')).to.equal('99');
167
- // });
168
- // it('"YY" equals to "00"', function () {
169
- // var now = new Date(9900, 0, 1);
170
- // expect(date.format(now, 'YY')).to.equal('00');
171
- // });
172
- // it('"YY" equals to "01"', function () {
173
- // var now = new Date(9901, 0, 1);
174
- // expect(date.format(now, 'YY')).to.equal('01');
175
- // });
176
- // it('"YY" equals to "99"', function () {
177
- // var now = new Date(9999, 0, 1);
178
- // expect(date.format(now, 'YY')).to.equal('99');
179
- // });
180
- // it('"YY" as UTC equals to "XX"', function () {
181
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
182
- // expect(date.format(now, 'YY')).to.equal('' + (now.getUTCFullYear() - 2000));
183
- // });
184
- // it('"Y" equals to "1"', function () {
185
- // var now = new Date(0, -1899 * 12, 1);
186
- // expect(date.format(now, 'Y')).to.equal('1');
187
- // });
188
- // it('"Y" equals to "10"', function () {
189
- // var now = new Date(0, -1890 * 12, 1);
190
- // expect(date.format(now, 'Y')).to.equal('10');
191
- // });
192
- // it('"Y" equals to "100"', function () {
193
- // var now = new Date(100, 0, 1);
194
- // expect(date.format(now, 'Y')).to.equal('100');
195
- // });
196
- // it('"Y" equals to "1000"', function () {
197
- // var now = new Date(1000, 0, 1);
198
- // expect(date.format(now, 'Y')).to.equal('1000');
199
- // });
200
- // it('"Y" equals to "10000"', function () {
201
- // var now = new Date(10000, 0, 1);
202
- // expect(date.format(now, 'Y')).to.equal('10000');
203
- // });
204
- // it('"Y" as UTC equals to "X"', function () {
205
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
206
- // expect(date.format(now, 'Y')).to.equal('' + (now.getUTCFullYear()));
207
- // });
208
- // it('"MMMM" equals to "January"', function () {
209
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
210
- // expect(date.format(now, 'MMMM')).to.equal('January');
211
- // });
212
- // it('"MMMM" equals to "December"', function () {
213
- // var now = new Date(2015, 11, 1);
214
- // expect(date.format(now, 'MMMM')).to.equal('December');
215
- // });
216
- // it('"MMM" equals to "Jan"', function () {
217
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
218
- // expect(date.format(now, 'MMM')).to.equal('Jan');
219
- // });
220
- // it('"MMM" equals to "Dec"', function () {
221
- // var now = new Date(2015, 11, 1);
222
- // expect(date.format(now, 'MMM')).to.equal('Dec');
223
- // });
224
- // it('"MM" equals to "01"', function () {
225
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
226
- // expect(date.format(now, 'MM')).to.equal('01');
227
- // });
228
- // it('"MM" equals to "12"', function () {
229
- // var now = new Date(2015, 11, 1, 12, 34, 56, 789);
230
- // expect(date.format(now, 'MM')).to.equal('12');
231
- // });
232
- // it('"MM" as UTC equals to "XX"', function () {
233
- // var now = new Date(2015, 10, 1, 12, 34, 56, 789),
234
- // utc = true;
235
- // expect(date.format(now, 'MM', utc)).to.equal('' + (now.getUTCMonth() + 1));
236
- // });
237
- // it('"M" equals to "1"', function () {
238
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
239
- // expect(date.format(now, 'M')).to.equal('1');
240
- // });
241
- // it('"M" equals to "12"', function () {
242
- // var now = new Date(2015, 11, 1, 12, 34, 56, 789);
243
- // expect(date.format(now, 'M')).to.equal('12');
244
- // });
245
- // it('"M" as UTC equals to "XX"', function () {
246
- // var now = new Date(2015, 10, 1, 12, 34, 56, 789);
247
- // expect(date.format(now, 'M')).to.equal('' + (now.getUTCMonth() + 1));
248
- // });
249
- // it('"DD" equals to "01"', function () {
250
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
251
- // expect(date.format(now, 'DD')).to.equal('01');
252
- // });
253
- // it('"DD" equals to "31"', function () {
254
- // var now = new Date(2015, 0, 31, 12, 34, 56, 789);
255
- // expect(date.format(now, 'DD')).to.equal('31');
256
- // });
257
- // it('"DD" equals to "XX"', function () {
258
- // var now = new Date(2015, 0, 15, 12, 34, 56, 789),
259
- // utc = true;
260
- // expect(date.format(now, 'DD', utc)).to.equal('' + now.getUTCDate());
261
- // });
262
- // it('"D" equals to "1"', function () {
263
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
264
- // expect(date.format(now, 'D')).to.equal('1');
265
- // });
266
- // it('"D" equals to "31"', function () {
267
- // var now = new Date(2015, 0, 31, 12, 34, 56, 789);
268
- // expect(date.format(now, 'D')).to.equal('31');
269
- // });
270
- // it('"D" as UTC equals to "XX"', function () {
271
- // var now = new Date(2015, 0, 15, 12, 34, 56, 789),
272
- // utc = true;
273
- // expect(date.format(now, 'D', utc)).to.equal('' + now.getUTCDate());
274
- // });
275
- // it('"dddd" equals to "Tuesday"', function () {
276
- // var now = new Date(2015, 0, 6, 12, 34, 56, 789);
277
- // expect(date.format(now, 'dddd')).to.equal('Tuesday');
278
- // });
279
- // it('"dddd" equals to "Thursday"', function () {
280
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
281
- // expect(date.format(now, 'dddd')).to.equal('Thursday');
282
- // });
283
- // it('"ddd" equals to "Sun"', function () {
284
- // var now = new Date(2015, 0, 4, 12, 34, 56, 789);
285
- // expect(date.format(now, 'ddd')).to.equal('Sun');
286
- // });
287
- // it('"ddd" equals to "Wed"', function () {
288
- // var now = new Date(2015, 0, 7, 12, 34, 56, 789);
289
- // expect(date.format(now, 'ddd')).to.equal('Wed');
290
- // });
291
- // it('"dd" equals to "Fr"', function () {
292
- // var now = new Date(2015, 0, 2, 12, 34, 56, 789);
293
- // expect(date.format(now, 'dd')).to.equal('Fr');
294
- // });
295
- // it('"dd" equals to "Sa"', function () {
296
- // var now = new Date(2015, 0, 3, 12, 34, 56, 789);
297
- // expect(date.format(now, 'dd')).to.equal('Sa');
298
- // });
299
- // it('"HH" equals to "12"', function () {
300
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
301
- // expect(date.format(now, 'HH')).to.equal('12');
302
- // });
303
- // it('"HH" equals to "00"', function () {
304
- // var now = new Date(2015, 0, 1, 0, 34, 56, 789);
305
- // expect(date.format(now, 'HH')).to.equal('00');
306
- // });
307
- // it('"HH" equals to "23"', function () {
308
- // var now = new Date(2015, 0, 1, 23, 34, 56, 789);
309
- // expect(date.format(now, 'HH')).to.equal('23');
310
- // });
311
- // it('"HH" as UTC equals to "XX"', function () {
312
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789),
313
- // utc = true;
314
- // expect(date.format(now, 'HH', utc)).to.equal(('0' + now.getUTCHours()).slice(-2));
315
- // });
316
- // it('"H" equals to "12"', function () {
317
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
318
- // expect(date.format(now, 'H')).to.equal('12');
319
- // });
320
- // it('"H" equals to "0"', function () {
321
- // var now = new Date(2015, 0, 1, 0, 34, 56, 789);
322
- // expect(date.format(now, 'H')).to.equal('0');
323
- // });
324
- // it('"H" equals to "23"', function () {
325
- // var now = new Date(2015, 0, 1, 23, 34, 56, 789);
326
- // expect(date.format(now, 'H')).to.equal('23');
327
- // });
328
- // it('"H" as UTC equals to "XX"', function () {
329
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789),
330
- // utc = true;
331
- // expect(date.format(now, 'H', utc)).to.equal('' + now.getUTCHours());
332
- // });
333
- // it('"hh A" equals to "12 PM"', function () {
334
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
335
- // expect(date.format(now, 'hh A')).to.equal('12 PM');
336
- // });
337
- // it('"hh A" equals to "12 AM"', function () {
338
- // var now = new Date(2015, 0, 1, 0, 34, 56, 789);
339
- // expect(date.format(now, 'hh A')).to.equal('12 AM');
340
- // });
341
- // it('"hh A" equals to "11 PM"', function () {
342
- // var now = new Date(2015, 0, 1, 23, 34, 56, 789);
343
- // expect(date.format(now, 'hh A')).to.equal('11 PM');
344
- // });
345
- // it('"hh A" equals to "01 AM"', function () {
346
- // var now = new Date(2015, 0, 1, 1, 34, 56, 789);
347
- // expect(date.format(now, 'hh A')).to.equal('01 AM');
348
- // });
349
- // it('"hh A" equals to "01 PM"', function () {
350
- // var now = new Date(2015, 0, 1, 13, 34, 56, 789);
351
- // expect(date.format(now, 'hh A')).to.equal('01 PM');
352
- // });
353
- // it('"h A" equals to "12 PM"', function () {
354
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
355
- // expect(date.format(now, 'h A')).to.equal('12 PM');
356
- // });
357
- // it('"h A" equals to "12 AM"', function () {
358
- // var now = new Date(2015, 0, 1, 0, 34, 56, 789);
359
- // expect(date.format(now, 'h A')).to.equal('12 AM');
360
- // });
361
- // it('"h A" equals to "11 PM"', function () {
362
- // var now = new Date(2015, 0, 1, 23, 34, 56, 789);
363
- // expect(date.format(now, 'h A')).to.equal('11 PM');
364
- // });
365
- // it('"h A" equals to "1 AM"', function () {
366
- // var now = new Date(2015, 0, 1, 1, 34, 56, 789);
367
- // expect(date.format(now, 'h A')).to.equal('1 AM');
368
- // });
369
- // it('"h A" equals to "1 PM"', function () {
370
- // var now = new Date(2015, 0, 1, 13, 34, 56, 789);
371
- // expect(date.format(now, 'h A')).to.equal('1 PM');
372
- // });
373
- // it('"mm" equals to "34"', function () {
374
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
375
- // expect(date.format(now, 'mm')).to.equal('34');
376
- // });
377
- // it('"mm" equals to "00"', function () {
378
- // var now = new Date(2015, 0, 1, 12, 0, 56, 789);
379
- // expect(date.format(now, 'mm')).to.equal('00');
380
- // });
381
- // it('"mm" equals to "59"', function () {
382
- // var now = new Date(2015, 0, 1, 12, 59, 56, 789);
383
- // expect(date.format(now, 'mm')).to.equal('59');
384
- // });
385
- // it('"mm" as UTC equals to "XX"', function () {
386
- // var now = new Date(2015, 0, 1, 12, 59, 56, 789),
387
- // utc = true;
388
- // expect(date.format(now, 'mm', utc)).to.equal(('0' + now.getUTCMinutes()).slice(-2));
389
- // });
390
- // it('"m" equals to "34"', function () {
391
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
392
- // expect(date.format(now, 'm')).to.equal('34');
393
- // });
394
- // it('"m" equals to "0"', function () {
395
- // var now = new Date(2015, 0, 1, 12, 0, 56, 789);
396
- // expect(date.format(now, 'm')).to.equal('0');
397
- // });
398
- // it('"m" equals to "59"', function () {
399
- // var now = new Date(2015, 0, 1, 12, 59, 56, 789);
400
- // expect(date.format(now, 'm')).to.equal('59');
401
- // });
402
- // it('"m" as UTC equals to "XX"', function () {
403
- // var now = new Date(2015, 0, 1, 12, 59, 56, 789),
404
- // utc = true;
405
- // expect(date.format(now, 'm', utc)).to.equal('' + now.getUTCMinutes());
406
- // });
407
- // it('"ss" equals to "56"', function () {
408
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
409
- // expect(date.format(now, 'ss')).to.equal('56');
410
- // });
411
- // it('"ss" equals to "00"', function () {
412
- // var now = new Date(2015, 0, 1, 12, 34, 0, 789);
413
- // expect(date.format(now, 'ss')).to.equal('00');
414
- // });
415
- // it('"ss" equals to "59"', function () {
416
- // var now = new Date(2015, 0, 1, 12, 34, 59, 789);
417
- // expect(date.format(now, 'ss')).to.equal('59');
418
- // });
419
- // it('"ss" as UTC equals to "59"', function () {
420
- // var now = new Date(2015, 0, 1, 12, 34, 59, 789),
421
- // utc = true;
422
- // expect(date.format(now, 'ss', utc)).to.equal(('0' + now.getUTCSeconds()).slice(-2));
423
- // });
424
- // it('"s" equals to "56"', function () {
425
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
426
- // expect(date.format(now, 's')).to.equal('56');
427
- // });
428
- // it('"s" equals to "0"', function () {
429
- // var now = new Date(2015, 0, 1, 12, 34, 0, 789);
430
- // expect(date.format(now, 's')).to.equal('0');
431
- // });
432
- // it('"s" equals to "59"', function () {
433
- // var now = new Date(2015, 0, 1, 12, 34, 59, 789);
434
- // expect(date.format(now, 's')).to.equal('59');
435
- // });
436
- // it('"s" as UTC equals to "59"', function () {
437
- // var now = new Date(2015, 0, 1, 12, 34, 59, 789),
438
- // utc = true;
439
- // expect(date.format(now, 's', utc)).to.equal('' + now.getUTCSeconds());
440
- // });
441
- // it('"SSS" equals to "789"', function () {
442
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
443
- // expect(date.format(now, 'SSS')).to.equal('789');
444
- // });
445
- // it('"SSS" equals to "000"', function () {
446
- // var now = new Date(2015, 0, 1, 12, 34, 56, 0);
447
- // expect(date.format(now, 'SSS')).to.equal('000');
448
- // });
449
- // it('"SSS" equals to "001"', function () {
450
- // var now = new Date(2015, 0, 1, 12, 34, 56, 1);
451
- // expect(date.format(now, 'SSS')).to.equal('001');
452
- // });
453
- // it('"SSS" as UTC equals to "XXX"', function () {
454
- // var now = new Date(2015, 0, 1, 12, 34, 56, 10),
455
- // utc = true;
456
- // expect(date.format(now, 'SSS', utc)).to.equal(('00' + now.getUTCMilliseconds()).slice(-3));
457
- // });
458
- // it('"SS" equals to "78"', function () {
459
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
460
- // expect(date.format(now, 'SS')).to.equal('78');
461
- // });
462
- // it('"SS" equals to "00"', function () {
463
- // var now = new Date(2015, 0, 1, 12, 34, 56, 0);
464
- // expect(date.format(now, 'SS')).to.equal('00');
465
- // });
466
- // it('"SS" equals to "00"', function () {
467
- // var now = new Date(2015, 0, 1, 12, 34, 56, 1);
468
- // expect(date.format(now, 'SS')).to.equal('00');
469
- // });
470
- // it('"SS" as UTC equals to "XX"', function () {
471
- // var now = new Date(2015, 0, 1, 12, 34, 56, 9),
472
- // utc = true;
473
- // expect(date.format(now, 'SS', utc)).to.equal(('00' + now.getUTCMilliseconds()).slice(-3).slice(0, 2));
474
- // });
475
- // it('"S" equals to "7"', function () {
476
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
477
- // expect(date.format(now, 'S')).to.equal('7');
478
- // });
479
- // it('"S" equals to "0"', function () {
480
- // var now = new Date(2015, 0, 1, 12, 34, 56, 0);
481
- // expect(date.format(now, 'S')).to.equal('0');
482
- // });
483
- // it('"S" equals to "0"', function () {
484
- // var now = new Date(2015, 0, 1, 12, 34, 56, 1);
485
- // expect(date.format(now, 'S')).to.equal('0');
486
- // });
487
- // it('"S" equals to "X"', function () {
488
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789),
489
- // utc = true;
490
- // expect(date.format(now, 'S', utc)).to.equal(('00' + now.getUTCMilliseconds()).slice(-3).slice(0, 1));
491
- // });
492
- // it('"Z" matches "+XXXX/-XXXX"', function () {
493
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
494
- // expect(date.format(now, 'Z')).to.match(/^[\+-]\d{4}$/);
495
- // });
496
- // it('"Z" as UTC equals to "+0000"', function () {
497
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789),
498
- // utc = true;
499
- // expect(date.format(now, 'Z', utc)).to.equal('+0000');
500
- // });
501
- // it('"ZZ" matches "+XX:XX/-XX:XX"', function () {
502
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
503
- // expect(date.format(now, 'ZZ')).to.match(/^[\+-]\d{2}:\d{2}$/);
504
- // });
505
- // it('"ZZ" as UTC equals to "+00:00"', function () {
506
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789),
507
- // utc = true;
508
- // expect(date.format(now, 'ZZ', utc)).to.equal('+00:00');
509
- // });
510
- // it('"ddd MMM DD YYYY HH:mm:ss" equals to "Thu Jan 01 2015 12:34:56"', function () {
511
- // var now = new Date(2015, 0, 1, 12, 34, 56, 789);
512
- // expect(date.format(now, 'ddd MMM DD YYYY HH:mm:ss')).to.equal('Thu Jan 01 2015 12:34:56');
513
- // });
514
- // it('"YYYY/MM/DD HH:mm:ss.SSS" equals to "1900/01/01 00:00:00.000"', function () {
515
- // var now = new Date(0, 0, 1);
516
- // expect(date.format(now, 'YYYY/MM/DD HH:mm:ss.SSS')).to.equal('1900/01/01 00:00:00.000');
517
- // });
518
- // it('"YY/MM/DD HH:mm:ss.SSS" equals to "00/01/01 00:00:00.000"', function () {
519
- // var now = new Date(0, 0, 1);
520
- // expect(date.format(now, 'YY/MM/DD HH:mm:ss.SSS')).to.equal('00/01/01 00:00:00.000');
521
- // });
522
- // it('"Y/M/D H:m:s.SSS" equals to "999/1/1 0:0:0.000"', function () {
523
- // var now = new Date(999, 0, 1);
524
- // expect(date.format(now, 'Y/M/D H:m:s.SSS')).to.equal('999/1/1 0:0:0.000');
525
- // });
526
- // it('"dddd, MMMM D, YYYY h A" equals to "Saturday, January 1, 2000 10 AM"', function () {
527
- // var now = new Date(2000, 0, 1, 10, 0, 0);
528
- // expect(date.format(now, 'dddd, MMMM D, YYYY h A')).to.equal('Saturday, January 1, 2000 10 AM');
529
- // });
530
- // it('"[dddd, MMMM D, YYYY h A]" equals to "dddd, MMMM D, YYYY h A"', function () {
531
- // var now = new Date(2000, 0, 1, 10, 0, 0);
532
- // expect(date.format(now, '[dddd, MMMM D, YYYY h A]')).to.equal('dddd, MMMM D, YYYY h A');
533
- // });
534
- // it('"[dddd], MMMM [D], YYYY [h] A" equals to "dddd, January D, 2000 h AM"', function () {
535
- // var now = new Date(2000, 0, 1, 10, 0, 0);
536
- // expect(date.format(now, '[dddd], MMMM [D], YYYY [h] A')).to.equal('dddd, January D, 2000 h AM');
537
- // });
538
- // it('"[[dddd], MMMM [D], YYYY [h] A]" equals to "[dddd], MMMM [D], YYYY [h] A"', function () {
539
- // var now = new Date(2000, 0, 1, 10, 0, 0);
540
- // expect(date.format(now, '[[dddd], MMMM [D], YYYY [h] A]')).to.equal('[dddd], MMMM [D], YYYY [h] A');
541
- // });
542
- // it('"[dddd], MMMM [[D], YYYY] [h] A" equals to "dddd, January [D], YYYY h AM"', function () {
543
- // var now = new Date(2000, 0, 1, 10, 0, 0);
544
- // expect(date.format(now, '[dddd], MMMM [[D], YYYY] [h] A')).to.equal('dddd, January [D], YYYY h AM');
545
- // });
546
- // });
547
- //
548
- // describe('compile', function () {
549
- // it('YYYY', function () {
550
- // var obj = ['YYYY', 'YYYY'];
551
- // expect(date.compile('YYYY')).to.eql(obj);
552
- // });
553
- // it('Y', function () {
554
- // var obj = ['Y', 'Y'];
555
- // expect(date.compile('Y')).to.eql(obj);
556
- // });
557
- // it('YYYY MMMM', function () {
558
- // var obj = ['YYYY MMMM', 'YYYY', ' ', 'MMMM'];
559
- // expect(date.compile('YYYY MMMM')).to.eql(obj);
560
- // });
561
- // it('YYYY MMM', function () {
562
- // var obj = ['YYYY MMM', 'YYYY', ' ', 'MMM'];
563
- // expect(date.compile('YYYY MMM')).to.eql(obj);
564
- // });
565
- // it('YYYY-MM', function () {
566
- // var obj = ['YYYY-MM', 'YYYY', '-', 'MM'];
567
- // expect(date.compile('YYYY-MM')).to.eql(obj);
568
- // });
569
- // it('YYYY-M', function () {
570
- // var obj = ['YYYY-M', 'YYYY', '-', 'M'];
571
- // expect(date.compile('YYYY-M')).to.eql(obj);
572
- // });
573
- // it('YYYY-MM-DD', function () {
574
- // var obj = ['YYYY-MM-DD', 'YYYY', '-', 'MM', '-', 'DD'];
575
- // expect(date.compile('YYYY-MM-DD')).to.eql(obj);
576
- // });
577
- // it('YYYY-M-D', function () {
578
- // var obj = ['YYYY-M-D', 'YYYY', '-', 'M', '-', 'D'];
579
- // expect(date.compile('YYYY-M-D')).to.eql(obj);
580
- // });
581
- // it('YYYY-MM-DD HH', function () {
582
- // var obj = ['YYYY-MM-DD HH', 'YYYY', '-', 'MM', '-', 'DD', ' ', 'HH'];
583
- // expect(date.compile('YYYY-MM-DD HH')).to.eql(obj);
584
- // });
585
- // it('YYYY-M-D H', function () {
586
- // var obj = ['YYYY-M-D H', 'YYYY', '-', 'M', '-', 'D', ' ', 'H'];
587
- // expect(date.compile('YYYY-M-D H')).to.eql(obj);
588
- // });
589
- // it('YYYY-M-D hh A', function () {
590
- // var obj = ['YYYY-M-D hh A', 'YYYY', '-', 'M', '-', 'D', ' ', 'hh', ' ', 'A'];
591
- // expect(date.compile('YYYY-M-D hh A')).to.eql(obj);
592
- // });
593
- // it('YYYY-M-D h A', function () {
594
- // var obj = ['YYYY-M-D h A', 'YYYY', '-', 'M', '-', 'D', ' ', 'h', ' ', 'A'];
595
- // expect(date.compile('YYYY-M-D h A')).to.eql(obj);
596
- // });
597
- // it('YYYY-MM-DD HH:mm', function () {
598
- // var obj = ['YYYY-MM-DD HH:mm', 'YYYY', '-', 'MM', '-', 'DD', ' ', 'HH', ':', 'mm'];
599
- // expect(date.compile('YYYY-MM-DD HH:mm')).to.eql(obj);
600
- // });
601
- // it('YYYY-M-D H:m', function () {
602
- // var obj = ['YYYY-M-D H:m', 'YYYY', '-', 'M', '-', 'D', ' ', 'H', ':', 'm'];
603
- // expect(date.compile('YYYY-M-D H:m')).to.eql(obj);
604
- // });
605
- // it('YYYY-MM-DD HH:mm:ss', function () {
606
- // var obj = ['YYYY-MM-DD HH:mm:ss', 'YYYY', '-', 'MM', '-', 'DD', ' ', 'HH', ':', 'mm', ':', 'ss'];
607
- // expect(date.compile('YYYY-MM-DD HH:mm:ss')).to.eql(obj);
608
- // });
609
- // it('YYYY-M-D H:m:s', function () {
610
- // var obj = ['YYYY-M-D H:m:s', 'YYYY', '-', 'M', '-', 'D', ' ', 'H', ':', 'm', ':', 's'];
611
- // expect(date.compile('YYYY-M-D H:m:s')).to.eql(obj);
612
- // });
613
- // it('YYYY-M-D H:m:s.SSS', function () {
614
- // var obj = ['YYYY-M-D H:m:s.SSS', 'YYYY', '-', 'M', '-', 'D', ' ', 'H', ':', 'm', ':', 's', '.', 'SSS'];
615
- // expect(date.compile('YYYY-M-D H:m:s.SSS')).to.eql(obj);
616
- // });
617
- // it('YYYY-M-D H:m:s.SS', function () {
618
- // var obj = ['YYYY-M-D H:m:s.SS', 'YYYY', '-', 'M', '-', 'D', ' ', 'H', ':', 'm', ':', 's', '.', 'SS'];
619
- // expect(date.compile('YYYY-M-D H:m:s.SS')).to.eql(obj);
620
- // });
621
- // it('YYYY-M-D H:m:s.S', function () {
622
- // var obj = ['YYYY-M-D H:m:s.S', 'YYYY', '-', 'M', '-', 'D', ' ', 'H', ':', 'm', ':', 's', '.', 'S'];
623
- // expect(date.compile('YYYY-M-D H:m:s.S')).to.eql(obj);
624
- // });
625
- // it('MMDDHHmmssSSS', function () {
626
- // var obj = ['MMDDHHmmssSSS', 'MM', 'DD', 'HH', 'mm', 'ss', 'SSS'];
627
- // expect(date.compile('MMDDHHmmssSSS')).to.eql(obj);
628
- // });
629
- // it('DDHHmmssSSS', function () {
630
- // var obj = ['DDHHmmssSSS', 'DD', 'HH', 'mm', 'ss', 'SSS'];
631
- // expect(date.compile('DDHHmmssSSS')).to.eql(obj);
632
- // });
633
- // it('HHmmssSSS', function () {
634
- // var obj = ['HHmmssSSS', 'HH', 'mm', 'ss', 'SSS'];
635
- // expect(date.compile('HHmmssSSS')).to.eql(obj);
636
- // });
637
- // it('mmssSSS', function () {
638
- // var obj = ['mmssSSS', 'mm', 'ss', 'SSS'];
639
- // expect(date.compile('mmssSSS')).to.eql(obj);
640
- // });
641
- // it('ssSSS', function () {
642
- // var obj = ['ssSSS', 'ss', 'SSS'];
643
- // expect(date.compile('ssSSS')).to.eql(obj);
644
- // });
645
- // it('SSS', function () {
646
- // var obj = ['SSS', 'SSS'];
647
- // expect(date.compile('SSS')).to.eql(obj);
648
- // });
649
- // it('foo', function () {
650
- // var obj = ['foo', 'f', 'oo'];
651
- // expect(date.compile('foo')).to.eql(obj);
652
- // });
653
- // it('bar', function () {
654
- // var obj = ['bar', 'b', 'a', 'r'];
655
- // expect(date.compile('bar')).to.eql(obj);
656
- // });
657
- // it('YYYYMMDD', function () {
658
- // var obj = ['YYYYMMDD', 'YYYY', 'MM', 'DD'];
659
- // expect(date.compile('YYYYMMDD')).to.eql(obj);
660
- // });
661
- // it('20150101235959', function () {
662
- // var obj = ['20150101235959', '2', '0', '1', '5', '0', '1', '0', '1', '2', '3', '5', '9', '5', '9'];
663
- // expect(date.compile('20150101235959')).to.eql(obj);
664
- // });
665
- // it('YYYY?M?D H?m?s?S', function () {
666
- // var obj = ['YYYY?M?D H?m?s?S', 'YYYY', '?', 'M', '?', 'D', ' ', 'H', '?', 'm', '?', 's', '?', 'S'];
667
- // expect(date.compile('YYYY?M?D H?m?s?S')).to.eql(obj);
668
- // });
669
- // it('[Y]YYYY[M]M[D]D[H]H[m]m[s]s[S]S', function () {
670
- // var obj = ['[Y]YYYY[M]M[D]D[H]H[m]m[s]s[S]S', '[Y]', 'YYYY', '[M]', 'M', '[D]', 'D', '[H]', 'H', '[m]', 'm', '[s]', 's', '[S]', 'S'];
671
- // expect(date.compile('[Y]YYYY[M]M[D]D[H]H[m]m[s]s[S]S')).to.eql(obj);
672
- // });
673
- // it('[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]', function () {
674
- // var obj = ['[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]', '[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]'];
675
- // expect(date.compile('[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]')).to.eql(obj);
676
- // });
677
- // it(' ', function () {
678
- // var obj = [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '];
679
- // expect(date.compile(' ')).to.eql(obj);
680
- // });
681
- // });
682
- //
683
- // describe('preparse', function () {
684
- // it('YYYY', function () {
685
- // var dt = { Y: 0, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
686
- // expect(date.preparse('0000', 'YYYY')).to.eql(dt);
687
- // });
688
- // it('YYYY', function () {
689
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
690
- // expect(date.preparse('0001', 'YYYY')).to.eql(dt);
691
- // });
692
- // it('YYYY', function () {
693
- // var dt = { Y: 99, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
694
- // expect(date.preparse('0099', 'YYYY')).to.eql(dt);
695
- // });
696
- // it('YYYY', function () {
697
- // var dt = { Y: 100, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
698
- // expect(date.preparse('0100', 'YYYY')).to.eql(dt);
699
- // });
700
- // it('YYYY', function () {
701
- // var dt = { Y: 1899, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
702
- // expect(date.preparse('1899', 'YYYY')).to.eql(dt);
703
- // });
704
- // it('YYYY', function () {
705
- // var dt = { Y: 1900, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
706
- // expect(date.preparse('1900', 'YYYY')).to.eql(dt);
707
- // });
708
- // it('YYYY', function () {
709
- // var dt = { Y: 1969, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
710
- // expect(date.preparse('1969', 'YYYY')).to.eql(dt);
711
- // });
712
- // it('YYYY', function () {
713
- // var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
714
- // expect(date.preparse('1970', 'YYYY')).to.eql(dt);
715
- // });
716
- // it('YYYY', function () {
717
- // var dt = { Y: 1999, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
718
- // expect(date.preparse('1999', 'YYYY')).to.eql(dt);
719
- // });
720
- // it('YYYY', function () {
721
- // var dt = { Y: 2000, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
722
- // expect(date.preparse('2000', 'YYYY')).to.eql(dt);
723
- // });
724
- // it('YYYY', function () {
725
- // var dt = { Y: 9999, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 4, _match: 1 };
726
- // expect(date.preparse('9999', 'YYYY')).to.eql(dt);
727
- // });
728
- // it('Y', function () {
729
- // var dt = { Y: 0, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
730
- // expect(date.preparse('0', 'Y')).to.eql(dt);
731
- // });
732
- // it('Y', function () {
733
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
734
- // expect(date.preparse('1', 'Y')).to.eql(dt);
735
- // });
736
- // it('Y', function () {
737
- // var dt = { Y: 99, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 2, _length: 2, _match: 1 };
738
- // expect(date.preparse('99', 'Y')).to.eql(dt);
739
- // });
740
- // it('Y', function () {
741
- // var dt = { Y: 100, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 3, _length: 3, _match: 1 };
742
- // expect(date.preparse('100', 'Y')).to.eql(dt);
743
- // });
744
- // it('YYYY MMMM', function () {
745
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 12, _length: 12, _match: 2 };
746
- // expect(date.preparse('2015 January', 'YYYY MMMM')).to.eql(dt);
747
- // });
748
- // it('YYYY MMMM', function () {
749
- // var dt = { Y: 2015, M: 12, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 13, _length: 13, _match: 2 };
750
- // expect(date.preparse('2015 December', 'YYYY MMMM')).to.eql(dt);
751
- // });
752
- // it('YYYY MMMM', function () {
753
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 5, _length: 9, _match: 1 };
754
- // expect(date.preparse('2015 Zero', 'YYYY MMMM')).to.eql(dt);
755
- // });
756
- // it('YYYY MMM', function () {
757
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 8, _length: 8, _match: 2 };
758
- // expect(date.preparse('2015 Jan', 'YYYY MMM')).to.eql(dt);
759
- // });
760
- // it('YYYY MMM', function () {
761
- // var dt = { Y: 2015, M: 12, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 8, _length: 8, _match: 2 };
762
- // expect(date.preparse('2015 Dec', 'YYYY MMM')).to.eql(dt);
763
- // });
764
- // it('YYYY MMM', function () {
765
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 5, _length: 9, _match: 1 };
766
- // expect(date.preparse('2015 Zero', 'YYYY MMM')).to.eql(dt);
767
- // });
768
- // it('YYYY-MM', function () {
769
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 7, _length: 7, _match: 2 };
770
- // expect(date.preparse('2015-01', 'YYYY-MM')).to.eql(dt);
771
- // });
772
- // it('YYYY-MM', function () {
773
- // var dt = { Y: 2015, M: 12, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 7, _length: 7, _match: 2 };
774
- // expect(date.preparse('2015-12', 'YYYY-MM')).to.eql(dt);
775
- // });
776
- // it('YYYY-MM', function () {
777
- // var dt = { Y: 2015, M: 0, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 7, _length: 7, _match: 2 };
778
- // expect(date.preparse('2015-00', 'YYYY-MM')).to.eql(dt);
779
- // });
780
- // it('YYYY-M', function () {
781
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 6, _length: 6, _match: 2 };
782
- // expect(date.preparse('2015-1', 'YYYY-M')).to.eql(dt);
783
- // });
784
- // it('YYYY-M', function () {
785
- // var dt = { Y: 2015, M: 12, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 7, _length: 7, _match: 2 };
786
- // expect(date.preparse('2015-12', 'YYYY-M')).to.eql(dt);
787
- // });
788
- // it('YYYY-M', function () {
789
- // var dt = { Y: 2015, M: 0, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 6, _length: 6, _match: 2 };
790
- // expect(date.preparse('2015-0', 'YYYY-M')).to.eql(dt);
791
- // });
792
- // it('YYYY-MM-DD', function () {
793
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 10, _length: 10, _match: 3 };
794
- // expect(date.preparse('2015-01-01', 'YYYY-MM-DD')).to.eql(dt);
795
- // });
796
- // it('YYYY-MM-DD', function () {
797
- // var dt = { Y: 2015, M: 12, D: 31, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 10, _length: 10, _match: 3 };
798
- // expect(date.preparse('2015-12-31', 'YYYY-MM-DD')).to.eql(dt);
799
- // });
800
- // it('YYYY-MM-DD', function () {
801
- // var dt = { Y: 2015, M: 0, D: 0, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 10, _length: 10, _match: 3 };
802
- // expect(date.preparse('2015-00-00', 'YYYY-MM-DD')).to.eql(dt);
803
- // });
804
- // it('YYYY-M-D', function () {
805
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 8, _length: 8, _match: 3 };
806
- // expect(date.preparse('2015-1-1', 'YYYY-M-D')).to.eql(dt);
807
- // });
808
- // it('YYYY-M-D', function () {
809
- // var dt = { Y: 2015, M: 12, D: 31, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 10, _length: 10, _match: 3 };
810
- // expect(date.preparse('2015-12-31', 'YYYY-M-D')).to.eql(dt);
811
- // });
812
- // it('YYYY-M-D', function () {
813
- // var dt = { Y: 2015, M: 0, D: 0, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 8, _length: 8, _match: 3 };
814
- // expect(date.preparse('2015-0-0', 'YYYY-M-D')).to.eql(dt);
815
- // });
816
- // it('YYYY-MM-DD HH', function () {
817
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 13, _length: 13, _match: 4 };
818
- // expect(date.preparse('2015-01-01 00', 'YYYY-MM-DD HH')).to.eql(dt);
819
- // });
820
- // it('YYYY-MM-DD HH', function () {
821
- // var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 13, _length: 13, _match: 4 };
822
- // expect(date.preparse('2015-12-31 23', 'YYYY-MM-DD HH')).to.eql(dt);
823
- // });
824
- // it('YYYY-MM-DD HH', function () {
825
- // var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 13, _length: 13, _match: 4 };
826
- // expect(date.preparse('2015-00-00 24', 'YYYY-MM-DD HH')).to.eql(dt);
827
- // });
828
- // it('YYYY-M-D H', function () {
829
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 10, _length: 10, _match: 4 };
830
- // expect(date.preparse('2015-1-1 0', 'YYYY-M-D H')).to.eql(dt);
831
- // });
832
- // it('YYYY-M-D H', function () {
833
- // var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 13, _length: 13, _match: 4 };
834
- // expect(date.preparse('2015-12-31 23', 'YYYY-M-D H')).to.eql(dt);
835
- // });
836
- // it('YYYY-M-D H', function () {
837
- // var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 11, _length: 11, _match: 4 };
838
- // expect(date.preparse('2015-0-0 24', 'YYYY-M-D H')).to.eql(dt);
839
- // });
840
- // it('YYYY-M-D hh A', function () {
841
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 12, m: 0, s: 0, S: 0, Z: 0, _index: 14, _length: 14, _match: 5 };
842
- // expect(date.preparse('2015-1-1 12 AM', 'YYYY-M-D hh A')).to.eql(dt);
843
- // });
844
- // it('YYYY-M-D hh A', function () {
845
- // var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 1, h: 11, m: 0, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 5 };
846
- // expect(date.preparse('2015-12-31 11 PM', 'YYYY-M-D hh A')).to.eql(dt);
847
- // });
848
- // it('YYYY-M-D hh A', function () {
849
- // var dt = { Y: 2015, M: 0, D: 0, H: 0, A: 0, h: 12, m: 0, s: 0, S: 0, Z: 0, _index: 14, _length: 14, _match: 5 };
850
- // expect(date.preparse('2015-0-0 12 AM', 'YYYY-M-D hh A')).to.eql(dt);
851
- // });
852
- // it('YYYY-M-D h A', function () {
853
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 12, m: 0, s: 0, S: 0, Z: 0, _index: 14, _length: 14, _match: 5 };
854
- // expect(date.preparse('2015-1-1 12 AM', 'YYYY-M-D h A')).to.eql(dt);
855
- // });
856
- // it('YYYY-M-D h A', function () {
857
- // var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 1, h: 11, m: 0, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 5 };
858
- // expect(date.preparse('2015-12-31 11 PM', 'YYYY-M-D h A')).to.eql(dt);
859
- // });
860
- // it('YYYY-M-D h A', function () {
861
- // var dt = { Y: 2015, M: 0, D: 0, H: 0, A: 0, h: 12, m: 0, s: 0, S: 0, Z: 0, _index: 14, _length: 14, _match: 5 };
862
- // expect(date.preparse('2015-0-0 12 AM', 'YYYY-M-D h A')).to.eql(dt);
863
- // });
864
- // it('YYYY-MM-DD HH:mm', function () {
865
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 5 };
866
- // expect(date.preparse('2015-01-01 00:00', 'YYYY-MM-DD HH:mm')).to.eql(dt);
867
- // });
868
- // it('YYYY-MM-DD HH:mm', function () {
869
- // var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 5 };
870
- // expect(date.preparse('2015-12-31 23:59', 'YYYY-MM-DD HH:mm')).to.eql(dt);
871
- // });
872
- // it('YYYY-MM-DD HH:mm', function () {
873
- // var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 60, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 5 };
874
- // expect(date.preparse('2015-00-00 24:60', 'YYYY-MM-DD HH:mm')).to.eql(dt);
875
- // });
876
- // it('YYYY-M-D H:m', function () {
877
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 12, _length: 12, _match: 5 };
878
- // expect(date.preparse('2015-1-1 0:0', 'YYYY-M-D H:m')).to.eql(dt);
879
- // });
880
- // it('YYYY-M-D H:m', function () {
881
- // var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 5 };
882
- // expect(date.preparse('2015-12-31 23:59', 'YYYY-M-D H:m')).to.eql(dt);
883
- // });
884
- // it('YYYY-M-D H:m', function () {
885
- // var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 60, s: 0, S: 0, Z: 0, _index: 14, _length: 14, _match: 5 };
886
- // expect(date.preparse('2015-0-0 24:60', 'YYYY-M-D H:m')).to.eql(dt);
887
- // });
888
- // it('YYYY-MM-DD HH:mm:ss', function () {
889
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 19, _length: 19, _match: 6 };
890
- // expect(date.preparse('2015-01-01 00:00:00', 'YYYY-MM-DD HH:mm:ss')).to.eql(dt);
891
- // });
892
- // it('YYYY-MM-DD HH:mm:ss', function () {
893
- // var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 0, Z: 0, _index: 19, _length: 19, _match: 6 };
894
- // expect(date.preparse('2015-12-31 23:59:59', 'YYYY-MM-DD HH:mm:ss')).to.eql(dt);
895
- // });
896
- // it('YYYY-MM-DD HH:mm:ss', function () {
897
- // var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 60, s: 60, S: 0, Z: 0, _index: 19, _length: 19, _match: 6 };
898
- // expect(date.preparse('2015-00-00 24:60:60', 'YYYY-MM-DD HH:mm:ss')).to.eql(dt);
899
- // });
900
- // it('YYYY-M-D H:m:s', function () {
901
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 14, _length: 14, _match: 6 };
902
- // expect(date.preparse('2015-1-1 0:0:0', 'YYYY-M-D H:m:s')).to.eql(dt);
903
- // });
904
- // it('YYYY-M-D H:m:s', function () {
905
- // var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 0, Z: 0, _index: 19, _length: 19, _match: 6 };
906
- // expect(date.preparse('2015-12-31 23:59:59', 'YYYY-M-D H:m:s')).to.eql(dt);
907
- // });
908
- // it('YYYY-M-D H:m:s', function () {
909
- // var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 60, s: 60, S: 0, Z: 0, _index: 17, _length: 17, _match: 6 };
910
- // expect(date.preparse('2015-0-0 24:60:60', 'YYYY-M-D H:m:s')).to.eql(dt);
911
- // });
912
- // it('YYYY-M-D H:m:s.SSS', function () {
913
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 7 };
914
- // expect(date.preparse('2015-1-1 0:0:0.0', 'YYYY-M-D H:m:s.SSS')).to.eql(dt);
915
- // });
916
- // it('YYYY-M-D H:m:s.SSS', function () {
917
- // var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 999, Z: 0, _index: 23, _length: 23, _match: 7 };
918
- // expect(date.preparse('2015-12-31 23:59:59.999', 'YYYY-M-D H:m:s.SSS')).to.eql(dt);
919
- // });
920
- // it('YYYY-M-D H:m:s.SSS', function () {
921
- // var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 60, s: 61, S: 0, Z: 0, _index: 21, _length: 21, _match: 7 };
922
- // expect(date.preparse('2015-0-0 24:60:61.000', 'YYYY-M-D H:m:s.SSS')).to.eql(dt);
923
- // });
924
- // it('YYYY-M-D H:m:s.SS', function () {
925
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 7 };
926
- // expect(date.preparse('2015-1-1 0:0:0.0', 'YYYY-M-D H:m:s.SS')).to.eql(dt);
927
- // });
928
- // it('YYYY-M-D H:m:s.SS', function () {
929
- // var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 990, Z: 0, _index: 22, _length: 22, _match: 7 };
930
- // expect(date.preparse('2015-12-31 23:59:59.99', 'YYYY-M-D H:m:s.SS')).to.eql(dt);
931
- // });
932
- // it('YYYY-M-D H:m:s.SS', function () {
933
- // var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 60, s: 61, S: 0, Z: 0, _index: 20, _length: 20, _match: 7 };
934
- // expect(date.preparse('2015-0-0 24:60:61.00', 'YYYY-M-D H:m:s.SS')).to.eql(dt);
935
- // });
936
- // it('YYYY-M-D H:m:s.S', function () {
937
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 16, _length: 16, _match: 7 };
938
- // expect(date.preparse('2015-1-1 0:0:0.0', 'YYYY-M-D H:m:s.S')).to.eql(dt);
939
- // });
940
- // it('YYYY-M-D H:m:s.S', function () {
941
- // var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 900, Z: 0, _index: 21, _length: 21, _match: 7 };
942
- // expect(date.preparse('2015-12-31 23:59:59.9', 'YYYY-M-D H:m:s.S')).to.eql(dt);
943
- // });
944
- // it('YYYY M D H m s S', function () {
945
- // var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 900, Z: 0, _index: 21, _length: 21, _match: 7 };
946
- // expect(date.preparse('2015-12-31 23:59:59.9', 'YYYY M D H m s S')).to.eql(dt);
947
- // });
948
- // it('YYYY-M-D H:m:s.S', function () {
949
- // var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 60, s: 61, S: 0, Z: 0, _index: 19, _length: 19, _match: 7 };
950
- // expect(date.preparse('2015-0-0 24:60:61.0', 'YYYY-M-D H:m:s.S')).to.eql(dt);
951
- // });
952
- // it('YYYY-M-D H:m:s.SSS Z', function () {
953
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 22, _length: 22, _match: 8 };
954
- // expect(date.preparse('2015-1-1 0:0:0.0 +0000', 'YYYY-M-D H:m:s.SSS Z')).to.eql(dt);
955
- // });
956
- // it('YYYY-M-D H:m:s.SSS Z', function () {
957
- // var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 999, Z: 840, _index: 29, _length: 29, _match: 8 };
958
- // expect(date.preparse('2015-12-31 23:59:59.999 -1400', 'YYYY-M-D H:m:s.SSS Z')).to.eql(dt);
959
- // });
960
- // it('YYYY-M-D H:m:s.SSS Z', function () {
961
- // var dt = { Y: 2015, M: 0, D: 0, H: 24, A: 0, h: 0, m: 60, s: 61, S: 0, Z: -720, _index: 27, _length: 27, _match: 8 };
962
- // expect(date.preparse('2015-0-0 24:60:61.000 +1200', 'YYYY-M-D H:m:s.SSS Z')).to.eql(dt);
963
- // });
964
- // it('MMDDHHmmssSSS', function () {
965
- // var dt = { Y: 1970, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 999, Z: 0, _index: 13, _length: 13, _match: 6 };
966
- // expect(date.preparse('1231235959999', 'MMDDHHmmssSSS')).to.eql(dt);
967
- // });
968
- // it('DDHHmmssSSS', function () {
969
- // var dt = { Y: 1970, M: 1, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 999, Z: 0, _index: 11, _length: 11, _match: 5 };
970
- // expect(date.preparse('31235959999', 'DDHHmmssSSS')).to.eql(dt);
971
- // });
972
- // it('HHmmssSSS', function () {
973
- // var dt = { Y: 1970, M: 1, D: 1, H: 23, A: 0, h: 0, m: 59, s: 59, S: 999, Z: 0, _index: 9, _length: 9, _match: 4 };
974
- // expect(date.preparse('235959999', 'HHmmssSSS')).to.eql(dt);
975
- // });
976
- // it('mmssSSS', function () {
977
- // var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 59, s: 59, S: 999, Z: 0, _index: 7, _length: 7, _match: 3 };
978
- // expect(date.preparse('5959999', 'mmssSSS')).to.eql(dt);
979
- // });
980
- // it('ssSSS', function () {
981
- // var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 59, S: 999, Z: 0, _index: 5, _length: 5, _match: 2 };
982
- // expect(date.preparse('59999', 'ssSSS')).to.eql(dt);
983
- // });
984
- // it('SSS', function () {
985
- // var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 999, Z: 0, _index: 3, _length: 3, _match: 1 };
986
- // expect(date.preparse('999', 'SSS')).to.eql(dt);
987
- // });
988
- // it('Z', function () {
989
- // var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: -355, _index: 5, _length: 5, _match: 1 };
990
- // expect(date.preparse('+0555', 'Z')).to.eql(dt);
991
- // });
992
- // it('Z', function () {
993
- // var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 5, _match: 0 };
994
- // expect(date.preparse('+9999', 'Z')).to.eql(dt);
995
- // });
996
- // it('ZZ', function () {
997
- // var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: -355, _index: 6, _length: 6, _match: 1 };
998
- // expect(date.preparse('+05:55', 'ZZ')).to.eql(dt);
999
- // });
1000
- // it('ZZ', function () {
1001
- // var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 6, _match: 0 };
1002
- // expect(date.preparse('+99:99', 'Z')).to.eql(dt);
1003
- // });
1004
- // it('foo', function () {
1005
- // var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 14, _match: 0 };
1006
- // expect(date.preparse('20150101235959', 'foo')).to.eql(dt);
1007
- // });
1008
- // it('bar', function () {
1009
- // var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 14, _match: 0 };
1010
- // expect(date.preparse('20150101235959', 'bar')).to.eql(dt);
1011
- // });
1012
- // it('YYYYMMDD', function () {
1013
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 8, _length: 14, _match: 3 };
1014
- // expect(date.preparse('20150101235959', 'YYYYMMDD')).to.eql(dt);
1015
- // });
1016
- // it('20150101235959', function () {
1017
- // var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 14, _length: 14, _match: 0 };
1018
- // expect(date.preparse('20150101235959', '20150101235959')).to.eql(dt);
1019
- // });
1020
- // it('YYYY?M?D H?m?s?S', function () {
1021
- // var dt = { Y: 2015, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 4, _length: 21, _match: 1 };
1022
- // expect(date.preparse('2015-12-31 23:59:59.9', 'YYYY?M?D H?m?s?S')).to.eql(dt);
1023
- // });
1024
- // it('YYYY-MM-DD HH:mm:ssZ', function () {
1025
- // var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 0, Z: 0, _index: 19, _length: 20, _match: 6 };
1026
- // expect(date.preparse('2015-12-31 23:59:59K', 'YYYY-MM-DD HH:mm:ss[Z]')).to.eql(dt);
1027
- // });
1028
- // it('[Y]YYYY[M]M[D]D[H]H[m]m[s]s[S]S', function () {
1029
- // var dt = { Y: 2015, M: 12, D: 31, H: 23, A: 0, h: 0, m: 59, s: 59, S: 900, Z: 0, _index: 22, _length: 22, _match: 7 };
1030
- // expect(date.preparse('Y2015M12D31H23m59s59S9', '[Y]YYYY[M]M[D]D[H]H[m]m[s]s[S]S')).to.eql(dt);
1031
- // });
1032
- // it('[Y]YYYY[M]M[D]D[H]H[m]m[s]s[S]S', function () {
1033
- // var dt = { Y: 2015, M: 12, D: 31, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 22, _length: 22, _match: 3 };
1034
- // expect(date.preparse('Y2015M12D31H23m59s59S9', '[Y]YYYY[M]M[D]D...')).to.eql(dt);
1035
- // });
1036
- // it('[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]', function () {
1037
- // var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 36, _length: 36, _match: 0 };
1038
- // expect(date.preparse('[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S', '[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]')).to.eql(dt);
1039
- // });
1040
- // it('[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]', function () {
1041
- // var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 36, _match: 0 };
1042
- // expect(date.preparse('[Y]2015[M]12[D]31[H]23[m]59[s]59[S]9', '[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]')).to.eql(dt);
1043
- // });
1044
- // it(' ', function () {
1045
- // var dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 17, _length: 17, _match: 0 };
1046
- // expect(date.preparse('20151231235959900', ' ')).to.eql(dt);
1047
- // });
1048
- // });
1049
- //
1050
- // describe('parse', function () {
1051
- // it('YYYY', function () {
1052
- // expect(isNaN(date.parse('0000', 'YYYY'))).to.be(true);
1053
- // });
1054
- // it('YYYY', function () {
1055
- // var now = new Date(0, -1899 * 12, 1);
1056
- // expect(date.parse('0001', 'YYYY')).to.eql(now);
1057
- // });
1058
- // it('YYYY', function () {
1059
- // var now = new Date(0, -1801 * 12, 1);
1060
- // expect(date.parse('0099', 'YYYY')).to.eql(now);
1061
- // });
1062
- // it('YYYY', function () {
1063
- // var now = new Date(100, 0, 1);
1064
- // expect(date.parse('0100', 'YYYY')).to.eql(now);
1065
- // });
1066
- // it('YYYY', function () {
1067
- // var now = new Date(1899, 0, 1);
1068
- // expect(date.parse('1899', 'YYYY')).to.eql(now);
1069
- // });
1070
- // it('YYYY', function () {
1071
- // var now = new Date(1900, 0, 1);
1072
- // expect(date.parse('1900', 'YYYY')).to.eql(now);
1073
- // });
1074
- // it('YYYY', function () {
1075
- // var now = new Date(1969, 0, 1);
1076
- // expect(date.parse('1969', 'YYYY')).to.eql(now);
1077
- // });
1078
- // it('YYYY', function () {
1079
- // var now = new Date(1970, 0, 1);
1080
- // expect(date.parse('1970', 'YYYY')).to.eql(now);
1081
- // });
1082
- // it('YYYY', function () {
1083
- // var now = new Date(1999, 0, 1);
1084
- // expect(date.parse('1999', 'YYYY')).to.eql(now);
1085
- // });
1086
- // it('YYYY', function () {
1087
- // var now = new Date(2000, 0, 1);
1088
- // expect(date.parse('2000', 'YYYY')).to.eql(now);
1089
- // });
1090
- // it('YYYY', function () {
1091
- // var now = new Date(9999, 0, 1);
1092
- // expect(date.parse('9999', 'YYYY')).to.eql(now);
1093
- // });
1094
- // it('Y', function () {
1095
- // expect(isNaN(date.parse('0', 'Y'))).to.be(true);
1096
- // });
1097
- // it('Y', function () {
1098
- // var now = new Date(0, -1899 * 12, 1);
1099
- // expect(date.parse('1', 'Y')).to.eql(now);
1100
- // });
1101
- // it('Y', function () {
1102
- // var now = new Date(0, -1801 * 12, 1);
1103
- // expect(date.parse('99', 'Y')).to.eql(now);
1104
- // });
1105
- // it('Y', function () {
1106
- // var now = new Date(100, 0, 1);
1107
- // expect(date.parse('100', 'Y')).to.eql(now);
1108
- // });
1109
- // it('YYYY MMMM', function () {
1110
- // var now = new Date(2015, 0, 1);
1111
- // expect(date.parse('2015 January', 'YYYY MMMM')).to.eql(now);
1112
- // });
1113
- // it('YYYY MMMM', function () {
1114
- // var now = new Date(2015, 11, 1);
1115
- // expect(date.parse('2015 December', 'YYYY MMMM')).to.eql(now);
1116
- // });
1117
- // it('YYYY MMMM', function () {
1118
- // expect(isNaN(date.parse('2015 Zero', 'YYYY MMMM'))).to.be(true);
1119
- // });
1120
- // it('YYYY MMM', function () {
1121
- // var now = new Date(2015, 0, 1);
1122
- // expect(date.parse('2015 Jan', 'YYYY MMM')).to.eql(now);
1123
- // });
1124
- // it('YYYY MMM', function () {
1125
- // var now = new Date(2015, 11, 1);
1126
- // expect(date.parse('2015 Dec', 'YYYY MMM')).to.eql(now);
1127
- // });
1128
- // it('YYYY MMM', function () {
1129
- // expect(isNaN(date.parse('2015 Zero', 'YYYY MMM'))).to.be(true);
1130
- // });
1131
- // it('YYYY-MM', function () {
1132
- // var now = new Date(2015, 0, 1);
1133
- // expect(date.parse('2015-01', 'YYYY-MM')).to.eql(now);
1134
- // });
1135
- // it('YYYY-MM', function () {
1136
- // var now = new Date(2015, 11, 1);
1137
- // expect(date.parse('2015-12', 'YYYY-MM')).to.eql(now);
1138
- // });
1139
- // it('YYYY-MM', function () {
1140
- // expect(isNaN(date.parse('2015-00', 'YYYY-MM'))).to.be(true);
1141
- // });
1142
- // it('YYYY-M', function () {
1143
- // var now = new Date(2015, 0, 1);
1144
- // expect(date.parse('2015-1', 'YYYY-M')).to.eql(now);
1145
- // });
1146
- // it('YYYY-M', function () {
1147
- // var now = new Date(2015, 11, 1);
1148
- // expect(date.parse('2015-12', 'YYYY-M')).to.eql(now);
1149
- // });
1150
- // it('YYYY-M', function () {
1151
- // expect(isNaN(date.parse('2015-0', 'YYYY-M'))).to.be(true);
1152
- // });
1153
- // it('YYYY-MM-DD', function () {
1154
- // var now = new Date(2015, 0, 1);
1155
- // expect(date.parse('2015-01-01', 'YYYY-MM-DD')).to.eql(now);
1156
- // });
1157
- // it('YYYY-MM-DD', function () {
1158
- // var now = new Date(2015, 11, 31);
1159
- // expect(date.parse('2015-12-31', 'YYYY-MM-DD')).to.eql(now);
1160
- // });
1161
- // it('YYYY-MM-DD', function () {
1162
- // expect(isNaN(date.parse('2015-00-00', 'YYYY-MM-DD'))).to.be(true);
1163
- // });
1164
- // it('YYYY-M-D', function () {
1165
- // var now = new Date(2015, 0, 1);
1166
- // expect(date.parse('2015-1-1', 'YYYY-M-D')).to.eql(now);
1167
- // });
1168
- // it('YYYY-M-D', function () {
1169
- // var now = new Date(2015, 11, 31);
1170
- // expect(date.parse('2015-12-31', 'YYYY-M-D')).to.eql(now);
1171
- // });
1172
- // it('YYYY-M-D', function () {
1173
- // expect(isNaN(date.parse('2015-0-0', 'YYYY-M-D'))).to.be(true);
1174
- // });
1175
- // it('YYYY-MM-DD HH', function () {
1176
- // var now = new Date(2015, 0, 1, 0);
1177
- // expect(date.parse('2015-01-01 00', 'YYYY-MM-DD HH')).to.eql(now);
1178
- // });
1179
- // it('YYYY-MM-DD HH', function () {
1180
- // var now = new Date(2015, 11, 31, 23);
1181
- // expect(date.parse('2015-12-31 23', 'YYYY-MM-DD HH')).to.eql(now);
1182
- // });
1183
- // it('YYYY-MM-DD HH', function () {
1184
- // expect(isNaN(date.parse('2015-00-00 24', 'YYYY-MM-DD HH'))).to.be(true);
1185
- // });
1186
- // it('YYYY-M-D H', function () {
1187
- // var now = new Date(2015, 0, 1, 0);
1188
- // expect(date.parse('2015-1-1 0', 'YYYY-M-D H')).to.eql(now);
1189
- // });
1190
- // it('YYYY-M-D H', function () {
1191
- // var now = new Date(2015, 11, 31, 23);
1192
- // expect(date.parse('2015-12-31 23', 'YYYY-M-D H')).to.eql(now);
1193
- // });
1194
- // it('YYYY-M-D H', function () {
1195
- // expect(isNaN(date.parse('2015-0-0 24', 'YYYY-M-D H'))).to.be(true);
1196
- // });
1197
- // it('YYYY-M-D hh A', function () {
1198
- // var now = new Date(2015, 0, 1, 0);
1199
- // expect(date.parse('2015-1-1 12 AM', 'YYYY-M-D hh A')).to.eql(now);
1200
- // });
1201
- // it('YYYY-M-D hh A', function () {
1202
- // var now = new Date(2015, 11, 31, 23);
1203
- // expect(date.parse('2015-12-31 11 PM', 'YYYY-M-D hh A')).to.eql(now);
1204
- // });
1205
- // it('YYYY-M-D hh A', function () {
1206
- // expect(isNaN(date.parse('2015-0-0 12 AM', 'YYYY-M-D hh A'))).to.be(true);
1207
- // });
1208
- // it('YYYY-M-D h A', function () {
1209
- // var now = new Date(2015, 0, 1, 0);
1210
- // expect(date.parse('2015-1-1 12 AM', 'YYYY-M-D h A')).to.eql(now);
1211
- // });
1212
- // it('YYYY-M-D h A', function () {
1213
- // var now = new Date(2015, 11, 31, 23);
1214
- // expect(date.parse('2015-12-31 11 PM', 'YYYY-M-D h A')).to.eql(now);
1215
- // });
1216
- // it('YYYY-M-D h A', function () {
1217
- // expect(isNaN(date.parse('2015-0-0 12 AM', 'YYYY-M-D h A'))).to.be(true);
1218
- // });
1219
- // it('YYYY-MM-DD HH:mm', function () {
1220
- // var now = new Date(2015, 0, 1, 0, 0);
1221
- // expect(date.parse('2015-01-01 00:00', 'YYYY-MM-DD HH:mm')).to.eql(now);
1222
- // });
1223
- // it('YYYY-MM-DD HH:mm', function () {
1224
- // var now = new Date(2015, 11, 31, 23, 59);
1225
- // expect(date.parse('2015-12-31 23:59', 'YYYY-MM-DD HH:mm')).to.eql(now);
1226
- // });
1227
- // it('YYYY-MM-DD HH:mm', function () {
1228
- // expect(isNaN(date.parse('2015-00-00 24:60', 'YYYY-MM-DD HH:mm'))).to.be(true);
1229
- // });
1230
- // it('YYYY-M-D H:m', function () {
1231
- // var now = new Date(2015, 0, 1, 0, 0);
1232
- // expect(date.parse('2015-1-1 0:0', 'YYYY-M-D H:m')).to.eql(now);
1233
- // });
1234
- // it('YYYY-M-D H:m', function () {
1235
- // var now = new Date(2015, 11, 31, 23, 59);
1236
- // expect(date.parse('2015-12-31 23:59', 'YYYY-M-D H:m')).to.eql(now);
1237
- // });
1238
- // it('YYYY-M-D H:m', function () {
1239
- // expect(isNaN(date.parse('2015-0-0 24:60', 'YYYY-M-D H:m'))).to.be(true);
1240
- // });
1241
- // it('YYYY-MM-DD HH:mm:ss', function () {
1242
- // var now = new Date(2015, 0, 1, 0, 0, 0);
1243
- // expect(date.parse('2015-01-01 00:00:00', 'YYYY-MM-DD HH:mm:ss')).to.eql(now);
1244
- // });
1245
- // it('YYYY-MM-DD HH:mm:ss', function () {
1246
- // var now = new Date(2015, 11, 31, 23, 59, 59);
1247
- // expect(date.parse('2015-12-31 23:59:59', 'YYYY-MM-DD HH:mm:ss')).to.eql(now);
1248
- // });
1249
- // it('YYYY-MM-DD HH:mm:ss', function () {
1250
- // expect(isNaN(date.parse('2015-00-00 24:60:60', 'YYYY-MM-DD HH:mm:ss'))).to.be(true);
1251
- // });
1252
- // it('YYYY-M-D H:m:s', function () {
1253
- // var now = new Date(2015, 0, 1, 0, 0);
1254
- // expect(date.parse('2015-1-1 0:0:0', 'YYYY-M-D H:m:s')).to.eql(now);
1255
- // });
1256
- // it('YYYY-M-D H:m:s', function () {
1257
- // var now = new Date(2015, 11, 31, 23, 59, 59);
1258
- // expect(date.parse('2015-12-31 23:59:59', 'YYYY-M-D H:m:s')).to.eql(now);
1259
- // });
1260
- // it('YYYY-M-D H:m:s', function () {
1261
- // expect(isNaN(date.parse('2015-0-0 24:60:60', 'YYYY-M-D H:m:s'))).to.be(true);
1262
- // });
1263
- // it('YYYY-M-D H:m:s.SSS', function () {
1264
- // var now = new Date(2015, 0, 1, 0, 0, 0);
1265
- // expect(date.parse('2015-1-1 0:0:0.0', 'YYYY-M-D H:m:s.SSS')).to.eql(now);
1266
- // });
1267
- // it('YYYY-M-D H:m:s.SSS', function () {
1268
- // var now = new Date(2015, 11, 31, 23, 59, 59, 999);
1269
- // expect(date.parse('2015-12-31 23:59:59.999', 'YYYY-M-D H:m:s.SSS')).to.eql(now);
1270
- // });
1271
- // it('YYYY-M-D H:m:s.SSS', function () {
1272
- // expect(isNaN(date.parse('2015-0-0 24:60:61.000', 'YYYY-M-D H:m:s.SSS'))).to.be(true);
1273
- // });
1274
- // it('YYYY-M-D H:m:s.SS', function () {
1275
- // var now = new Date(2015, 0, 1, 0, 0, 0);
1276
- // expect(date.parse('2015-1-1 0:0:0.0', 'YYYY-M-D H:m:s.SS')).to.eql(now);
1277
- // });
1278
- // it('YYYY-M-D H:m:s.SS', function () {
1279
- // var now = new Date(2015, 11, 31, 23, 59, 59, 990);
1280
- // expect(date.parse('2015-12-31 23:59:59.99', 'YYYY-M-D H:m:s.SS')).to.eql(now);
1281
- // });
1282
- // it('YYYY-M-D H:m:s.SS', function () {
1283
- // expect(isNaN(date.parse('2015-0-0 24:60:61.00', 'YYYY-M-D H:m:s.SS'))).to.be(true);
1284
- // });
1285
- // it('YYYY-M-D H:m:s.S', function () {
1286
- // var now = new Date(2015, 0, 1, 0, 0, 0);
1287
- // expect(date.parse('2015-1-1 0:0:0.0', 'YYYY-M-D H:m:s.S')).to.eql(now);
1288
- // });
1289
- // it('YYYY-M-D H:m:s.S', function () {
1290
- // var now = new Date(2015, 11, 31, 23, 59, 59, 900);
1291
- // expect(date.parse('2015-12-31 23:59:59.9', 'YYYY-M-D H:m:s.S')).to.eql(now);
1292
- // });
1293
- // it('YYYY M D H m s S', function () {
1294
- // var now = new Date(2015, 11, 31, 23, 59, 59, 900);
1295
- // expect(date.parse('2015-12-31 23:59:59.9', 'YYYY M D H m s S')).to.eql(now);
1296
- // });
1297
- // it('YYYY-M-D H:m:s.S', function () {
1298
- // expect(isNaN(date.parse('2015-0-0 24:60:61.0', 'YYYY-M-D H:m:s.S'))).to.be(true);
1299
- // });
1300
- // it('YYYY-M-D H:m:s.SSS Z', function () {
1301
- // var now = new Date(Date.UTC(2015, 0, 1, 0, 0, 0));
1302
- // expect(date.parse('2015-1-1 0:0:0.0 +0000', 'YYYY-M-D H:m:s.SSS Z')).to.eql(now);
1303
- // });
1304
- // it('YYYY-M-D H:m:s.SSS Z', function () {
1305
- // var now = new Date(Date.UTC(2015, 11, 31, 23, 59, 59, 999));
1306
- // expect(date.parse('2015-12-31 23:00:59.999 -0059', 'YYYY-M-D H:m:s.SSS Z')).to.eql(now);
1307
- // });
1308
- // it('YYYY-M-D H:m:s.SSS Z', function () {
1309
- // var now = new Date(Date.UTC(2015, 11, 31, 21, 59, 59, 999));
1310
- // expect(date.parse('2015-12-31 09:59:59.999 -1200', 'YYYY-M-D H:m:s.SSS Z')).to.eql(now);
1311
- // });
1312
- // it('YYYY-M-D H:m:s.SSS Z', function () {
1313
- // expect(isNaN(date.parse('2015-12-31 09:58:59.999 -1201', 'YYYY-M-D H:m:s.SSS Z'))).to.be(true);
1314
- // });
1315
- // it('YYYY-M-D H:m:s.SSS Z', function () {
1316
- // var now = new Date(Date.UTC(2015, 11, 30, 22, 0, 59, 999));
1317
- // expect(date.parse('2015-12-31 12:00:59.999 +1400', 'YYYY-M-D H:m:s.SSS Z')).to.eql(now);
1318
- // });
1319
- // it('YYYY-M-D H:m:s.SSS Z', function () {
1320
- // expect(isNaN(date.parse('2015-12-31 12:01:59.999 +1401', 'YYYY-M-D H:m:s.SSS Z'))).to.be(true);
1321
- // });
1322
- // it('YYYY-M-D H:m:s.SSS ZZ', function () {
1323
- // var now = new Date(Date.UTC(2015, 0, 1, 0, 0, 0));
1324
- // expect(date.parse('2015-1-1 0:0:0.0 +00:00', 'YYYY-M-D H:m:s.SSS ZZ')).to.eql(now);
1325
- // });
1326
- // it('YYYY-M-D H:m:s.SSS ZZ', function () {
1327
- // var now = new Date(Date.UTC(2015, 11, 31, 23, 59, 59, 999));
1328
- // expect(date.parse('2015-12-31 23:00:59.999 -00:59', 'YYYY-M-D H:m:s.SSS ZZ')).to.eql(now);
1329
- // });
1330
- // it('YYYY-M-D H:m:s.SSS ZZ', function () {
1331
- // var now = new Date(Date.UTC(2015, 11, 31, 21, 59, 59, 999));
1332
- // expect(date.parse('2015-12-31 09:59:59.999 -12:00', 'YYYY-M-D H:m:s.SSS ZZ')).to.eql(now);
1333
- // });
1334
- // it('YYYY-M-D H:m:s.SSS ZZ', function () {
1335
- // expect(isNaN(date.parse('2015-12-31 09:58:59.999 -12:01', 'YYYY-M-D H:m:s.SSS ZZ'))).to.be(true);
1336
- // });
1337
- // it('YYYY-M-D H:m:s.SSS ZZ', function () {
1338
- // var now = new Date(Date.UTC(2015, 11, 30, 22, 0, 59, 999));
1339
- // expect(date.parse('2015-12-31 12:00:59.999 +14:00', 'YYYY-M-D H:m:s.SSS ZZ')).to.eql(now);
1340
- // });
1341
- // it('YYYY-M-D H:m:s.SSS ZZ', function () {
1342
- // expect(isNaN(date.parse('2015-12-31 12:01:59.999 +14:01', 'YYYY-M-D H:m:s.SSS ZZ'))).to.be(true);
1343
- // });
1344
- // it('MMDDHHmmssSSS', function () {
1345
- // var now = new Date(1970, 11, 31, 23, 59, 59, 999);
1346
- // expect(date.parse('1231235959999', 'MMDDHHmmssSSS')).to.eql(now);
1347
- // });
1348
- // it('DDHHmmssSSS', function () {
1349
- // var now = new Date(1970, 0, 31, 23, 59, 59, 999);
1350
- // expect(date.parse('31235959999', 'DDHHmmssSSS')).to.eql(now);
1351
- // });
1352
- // it('HHmmssSSS', function () {
1353
- // var now = new Date(1970, 0, 1, 23, 59, 59, 999);
1354
- // expect(date.parse('235959999', 'HHmmssSSS')).to.eql(now);
1355
- // });
1356
- // it('mmssSSS', function () {
1357
- // var now = new Date(1970, 0, 1, 0, 59, 59, 999);
1358
- // expect(date.parse('5959999', 'mmssSSS')).to.eql(now);
1359
- // });
1360
- // it('ssSSS', function () {
1361
- // var now = new Date(1970, 0, 1, 0, 0, 59, 999);
1362
- // expect(date.parse('59999', 'ssSSS')).to.eql(now);
1363
- // });
1364
- // it('SSS', function () {
1365
- // var now = new Date(1970, 0, 1, 0, 0, 0, 999);
1366
- // expect(date.parse('999', 'SSS')).to.eql(now);
1367
- // });
1368
- // it('Z', function () {
1369
- // expect(isNaN(date.parse('+000', 'Z'))).to.be(true);
1370
- // });
1371
- // it('Z', function () {
1372
- // expect(isNaN(date.parse('+00', 'Z'))).to.be(true);
1373
- // });
1374
- // it('Z', function () {
1375
- // expect(isNaN(date.parse('+0', 'Z'))).to.be(true);
1376
- // });
1377
- // it('Z', function () {
1378
- // expect(isNaN(date.parse('0', 'Z'))).to.be(true);
1379
- // });
1380
- // it('Z', function () {
1381
- // expect(isNaN(date.parse('0000', 'Z'))).to.be(true);
1382
- // });
1383
- // it('Z', function () {
1384
- // expect(isNaN(date.parse('00000', 'Z'))).to.be(true);
1385
- // });
1386
- // it('ZZ', function () {
1387
- // expect(isNaN(date.parse('+00:0', 'ZZ'))).to.be(true);
1388
- // });
1389
- // it('ZZ', function () {
1390
- // expect(isNaN(date.parse('+00:', 'ZZ'))).to.be(true);
1391
- // });
1392
- // it('ZZ', function () {
1393
- // expect(isNaN(date.parse('+0:', 'ZZ'))).to.be(true);
1394
- // });
1395
- // it('ZZ', function () {
1396
- // expect(isNaN(date.parse('0:', 'ZZ'))).to.be(true);
1397
- // });
1398
- // it('ZZ', function () {
1399
- // expect(isNaN(date.parse('00:00', 'ZZ'))).to.be(true);
1400
- // });
1401
- // it('ZZ', function () {
1402
- // expect(isNaN(date.parse('00:000', 'ZZ'))).to.be(true);
1403
- // });
1404
- // it('foo', function () {
1405
- // expect(isNaN(date.parse('20150101235959', 'foo'))).to.be(true);
1406
- // });
1407
- // it('bar', function () {
1408
- // expect(isNaN(date.parse('20150101235959', 'bar'))).to.be(true);
1409
- // });
1410
- // it('YYYYMMDD', function () {
1411
- // expect(isNaN(date.parse('20150101235959', 'YYYYMMDD'))).to.be(true);
1412
- // });
1413
- // it('20150101235959', function () {
1414
- // expect(isNaN(date.parse('20150101235959', '20150101235959'))).to.be(true);
1415
- // });
1416
- // it('YYYY?M?D H?m?s?S', function () {
1417
- // expect(isNaN(date.parse('2015-12-31 23:59:59.9', 'YYYY?M?D H?m?s?S'))).to.be(true);
1418
- // });
1419
- // it('[Y]YYYY[M]M[D]D[H]H[m]m[s]s[S]S', function () {
1420
- // var now = new Date(2015, 11, 31, 23, 59, 59, 900);
1421
- // expect(date.parse('Y2015M12D31H23m59s59S9', '[Y]YYYY[M]M[D]D[H]H[m]m[s]s[S]S')).to.eql(now);
1422
- // });
1423
- // it('[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]', function () {
1424
- // expect(isNaN(date.parse('[Y]2015[M]12[D]31[H]23[m]59[s]59[S]9', '[[Y]YYYY[M]MM[D]DD[H]HH[m]mm[s]ss[S]S]'))).to.be(true);
1425
- // });
1426
- // it(' ', function () {
1427
- // expect(isNaN(date.parse('20151231235959900', ' '))).to.be(true);
1428
- // });
1429
- // });
1430
- //
1431
- // describe('transform', function () {
1432
- // it('D/M/YYYY => M/D/YYYY', function () {
1433
- // expect(date.transform('3/8/2020', 'D/M/YYYY', 'M/D/YYYY')).to.eql('8/3/2020');
1434
- // });
1435
- // it('HH:mm => hh:mm A', function () {
1436
- // expect(date.transform('13:05', 'HH:mm', 'hh:mm A')).to.eql('01:05 PM');
1437
- // });
1438
- // it('HH:mm => hh:mm A, output as UTC', function () {
1439
- // // This test may fail if you run it in a time zone with daylight saving time.
1440
- // var utc = date.format(new Date(2020, 3, 1, 13, 5), 'hh:mm A', true);
1441
- // expect(date.transform('13:05', 'HH:mm', 'hh:mm A', true)).to.eql(utc);
1442
- // });
1443
- // it('D/M/YYYY => M/D/YYYY, with compile', function () {
1444
- // var arg1 = date.compile('D/M/YYYY');
1445
- // var arg2 = date.compile('M/D/YYYY');
1446
- // expect(date.transform('3/8/2020', arg1, arg2)).to.eql('8/3/2020');
1447
- // });
1448
- // });
1449
- //
1450
- // describe('addition', function () {
1451
- // it('add a year', function () {
1452
- // var date1 = new Date(1969, 11, 31, 23, 59, 59, 999);
1453
- // var date2 = new Date(1970, 11, 31, 23, 59, 59, 999);
1454
- // expect(date.addYears(date1, 1)).to.eql(date2);
1455
- // });
1456
- // it('subtract a year', function () {
1457
- // var date1 = new Date(1970, 11, 31, 23, 59, 59, 999);
1458
- // var date2 = new Date(1969, 11, 31, 23, 59, 59, 999);
1459
- // expect(date.addYears(date1, -1)).to.eql(date2);
1460
- // });
1461
- // it('add a month', function () {
1462
- // var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1463
- // var date2 = new Date(2014, 12, 31, 23, 59, 59, 999);
1464
- // expect(date.addMonths(date1, 1)).to.eql(date2);
1465
- // });
1466
- // it('subtract a month', function () {
1467
- // var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1468
- // var date2 = new Date(2014, 10, 31, 23, 59, 59, 999);
1469
- // expect(date.addMonths(date1, -1)).to.eql(date2);
1470
- // });
1471
- // it('add a day', function () {
1472
- // var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1473
- // var date2 = new Date(2014, 11, 32, 23, 59, 59, 999);
1474
- // expect(date.addDays(date1, 1)).to.eql(date2);
1475
- // });
1476
- // it('subtract a day', function () {
1477
- // var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1478
- // var date2 = new Date(2014, 11, 30, 23, 59, 59, 999);
1479
- // expect(date.addDays(date1, -1)).to.eql(date2);
1480
- // });
1481
- // it('add an hour', function () {
1482
- // var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1483
- // var date2 = new Date(2014, 11, 31, 24, 59, 59, 999);
1484
- // expect(date.addHours(date1, 1)).to.eql(date2);
1485
- // });
1486
- // it('subtract an hour', function () {
1487
- // var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1488
- // var date2 = new Date(2014, 11, 31, 22, 59, 59, 999);
1489
- // expect(date.addHours(date1, -1)).to.eql(date2);
1490
- // });
1491
- // it('add a minute', function () {
1492
- // var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1493
- // var date2 = new Date(2014, 11, 31, 23, 60, 59, 999);
1494
- // expect(date.addMinutes(date1, 1)).to.eql(date2);
1495
- // });
1496
- // it('subtract a minute', function () {
1497
- // var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1498
- // var date2 = new Date(2014, 11, 31, 23, 58, 59, 999);
1499
- // expect(date.addMinutes(date1, -1)).to.eql(date2);
1500
- // });
1501
- // it('add a second', function () {
1502
- // var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1503
- // var date2 = new Date(2014, 11, 31, 23, 59, 60, 999);
1504
- // expect(date.addSeconds(date1, 1)).to.eql(date2);
1505
- // });
1506
- // it('subtract a second', function () {
1507
- // var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1508
- // var date2 = new Date(2014, 11, 31, 23, 59, 58, 999);
1509
- // expect(date.addSeconds(date1, -1)).to.eql(date2);
1510
- // });
1511
- // it('add a millisecond', function () {
1512
- // var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1513
- // var date2 = new Date(2014, 11, 31, 23, 59, 59, 1000);
1514
- // expect(date.addMilliseconds(date1, 1)).to.eql(date2);
1515
- // });
1516
- // it('subtract a millisecond', function () {
1517
- // var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1518
- // var date2 = new Date(2014, 11, 31, 23, 59, 59, 998);
1519
- // expect(date.addMilliseconds(date1, -1)).to.eql(date2);
1520
- // });
1521
- // });
1522
- //
1523
- // describe('subtraction', function () {
1524
- // it('A year is 365 days', function () {
1525
- // var date1 = new Date(2015, 11, 31, 23, 59, 59, 999);
1526
- // var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1527
- // expect(date.subtract(date1, date2).toDays()).to.equal(365);
1528
- // expect(date.subtract(date1, date2).toHours()).to.equal(365 * 24);
1529
- // expect(date.subtract(date1, date2).toMinutes()).to.equal(365 * 24 * 60);
1530
- // expect(date.subtract(date1, date2).toSeconds()).to.equal(365 * 24 * 60 * 60);
1531
- // expect(date.subtract(date1, date2).toMilliseconds()).to.equal(365 * 24 * 60 * 60 * 1000);
1532
- // });
1533
- // it('A year is 365 days (reverse)', function () {
1534
- // var date1 = new Date(2015, 11, 31, 23, 59, 59, 999);
1535
- // var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1536
- // expect(date.subtract(date2, date1).toDays()).to.equal(-365);
1537
- // expect(date.subtract(date2, date1).toHours()).to.equal(-365 * 24);
1538
- // expect(date.subtract(date2, date1).toMinutes()).to.equal(-365 * 24 * 60);
1539
- // expect(date.subtract(date2, date1).toSeconds()).to.equal(-365 * 24 * 60 * 60);
1540
- // expect(date.subtract(date2, date1).toMilliseconds()).to.equal(-365 * 24 * 60 * 60 * 1000);
1541
- // });
1542
- // it('A month is 31 days', function () {
1543
- // var date1 = new Date(2014, 12, 31, 23, 59, 59, 999);
1544
- // var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1545
- // expect(date.subtract(date1, date2).toDays()).to.equal(31);
1546
- // expect(date.subtract(date1, date2).toHours()).to.equal(31 * 24);
1547
- // expect(date.subtract(date1, date2).toMinutes()).to.equal(31 * 24 * 60);
1548
- // expect(date.subtract(date1, date2).toSeconds()).to.equal(31 * 24 * 60 * 60);
1549
- // expect(date.subtract(date1, date2).toMilliseconds()).to.equal(31 * 24 * 60 * 60 * 1000);
1550
- // });
1551
- // it('A month is 31 days (reverse)', function () {
1552
- // var date1 = new Date(2014, 12, 31, 23, 59, 59, 999);
1553
- // var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1554
- // expect(date.subtract(date2, date1).toDays()).to.equal(-31);
1555
- // expect(date.subtract(date2, date1).toHours()).to.equal(-31 * 24);
1556
- // expect(date.subtract(date2, date1).toMinutes()).to.equal(-31 * 24 * 60);
1557
- // expect(date.subtract(date2, date1).toSeconds()).to.equal(-31 * 24 * 60 * 60);
1558
- // expect(date.subtract(date2, date1).toMilliseconds()).to.equal(-31 * 24 * 60 * 60 * 1000);
1559
- // });
1560
- // it('A day', function () {
1561
- // var date1 = new Date(2014, 11, 32, 23, 59, 59, 999);
1562
- // var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1563
- // expect(date.subtract(date1, date2).toDays()).to.equal(1);
1564
- // expect(date.subtract(date1, date2).toHours()).to.equal(24);
1565
- // expect(date.subtract(date1, date2).toMinutes()).to.equal(24 * 60);
1566
- // expect(date.subtract(date1, date2).toSeconds()).to.equal(24 * 60 * 60);
1567
- // expect(date.subtract(date1, date2).toMilliseconds()).to.equal(24 * 60 * 60 * 1000);
1568
- // });
1569
- // it('A day (reverse)', function () {
1570
- // var date1 = new Date(2014, 11, 32, 23, 59, 59, 999);
1571
- // var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1572
- // expect(date.subtract(date2, date1).toDays()).to.equal(-1);
1573
- // expect(date.subtract(date2, date1).toHours()).to.equal(-1 * 24);
1574
- // expect(date.subtract(date2, date1).toMinutes()).to.equal(-1 * 24 * 60);
1575
- // expect(date.subtract(date2, date1).toSeconds()).to.equal(-1 * 24 * 60 * 60);
1576
- // expect(date.subtract(date2, date1).toMilliseconds()).to.equal(-1 * 24 * 60 * 60 * 1000);
1577
- // });
1578
- // it('An hour', function () {
1579
- // var date1 = new Date(2014, 11, 31, 24, 59, 59, 999);
1580
- // var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1581
- // expect(date.subtract(date1, date2).toDays()).to.equal(1 / 24);
1582
- // expect(date.subtract(date1, date2).toHours()).to.equal(1);
1583
- // expect(date.subtract(date1, date2).toMinutes()).to.equal(60);
1584
- // expect(date.subtract(date1, date2).toSeconds()).to.equal(60 * 60);
1585
- // expect(date.subtract(date1, date2).toMilliseconds()).to.equal(60 * 60 * 1000);
1586
- // });
1587
- // it('An hour (reverse)', function () {
1588
- // var date1 = new Date(2014, 11, 31, 24, 59, 59, 999);
1589
- // var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1590
- // expect(date.subtract(date2, date1).toDays()).to.equal(-1 / 24);
1591
- // expect(date.subtract(date2, date1).toHours()).to.equal(-1);
1592
- // expect(date.subtract(date2, date1).toMinutes()).to.equal(-1 * 60);
1593
- // expect(date.subtract(date2, date1).toSeconds()).to.equal(-1 * 60 * 60);
1594
- // expect(date.subtract(date2, date1).toMilliseconds()).to.equal(-1 * 60 * 60 * 1000);
1595
- // });
1596
- // it('A minute', function () {
1597
- // var date1 = new Date(2014, 11, 31, 23, 60, 59, 999);
1598
- // var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1599
- // expect(date.subtract(date1, date2).toDays()).to.equal(1 / (24 * 60));
1600
- // expect(date.subtract(date1, date2).toHours()).to.equal(1 / 60);
1601
- // expect(date.subtract(date1, date2).toMinutes()).to.equal(1);
1602
- // expect(date.subtract(date1, date2).toSeconds()).to.equal(60);
1603
- // expect(date.subtract(date1, date2).toMilliseconds()).to.equal(60 * 1000);
1604
- // });
1605
- // it('A minute (reverse)', function () {
1606
- // var date1 = new Date(2014, 11, 31, 23, 60, 59, 999);
1607
- // var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1608
- // expect(date.subtract(date2, date1).toDays()).to.equal(-1 / (24 * 60));
1609
- // expect(date.subtract(date2, date1).toHours()).to.equal(-1 / 60);
1610
- // expect(date.subtract(date2, date1).toMinutes()).to.equal(-1);
1611
- // expect(date.subtract(date2, date1).toSeconds()).to.equal(-1 * 60);
1612
- // expect(date.subtract(date2, date1).toMilliseconds()).to.equal(-1 * 60 * 1000);
1613
- // });
1614
- // it('A second', function () {
1615
- // var date1 = new Date(2014, 11, 31, 23, 59, 60, 999);
1616
- // var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1617
- // expect(date.subtract(date1, date2).toDays()).to.equal(1 / (24 * 60 * 60));
1618
- // expect(date.subtract(date1, date2).toHours()).to.equal(1 / (60 * 60));
1619
- // expect(date.subtract(date1, date2).toMinutes()).to.equal(1 / 60);
1620
- // expect(date.subtract(date1, date2).toSeconds()).to.equal(1);
1621
- // expect(date.subtract(date1, date2).toMilliseconds()).to.equal(1000);
1622
- // });
1623
- // it('A second (reverse)', function () {
1624
- // var date1 = new Date(2014, 11, 31, 23, 59, 60, 999);
1625
- // var date2 = new Date(2014, 11, 31, 23, 59, 59, 999);
1626
- // expect(date.subtract(date2, date1).toDays()).to.equal(-1 / (24 * 60 * 60));
1627
- // expect(date.subtract(date2, date1).toHours()).to.equal(-1 / (60 * 60));
1628
- // expect(date.subtract(date2, date1).toMinutes()).to.equal(-1 / 60);
1629
- // expect(date.subtract(date2, date1).toSeconds()).to.equal(-1);
1630
- // expect(date.subtract(date2, date1).toMilliseconds()).to.equal(-1 * 1000);
1631
- // });
1632
- // it('A millisecond', function () {
1633
- // var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1634
- // var date2 = new Date(2014, 11, 31, 23, 59, 59, 998);
1635
- // expect(date.subtract(date1, date2).toDays()).to.equal(1 / (24 * 60 * 60 * 1000));
1636
- // expect(date.subtract(date1, date2).toHours()).to.equal(1 / (60 * 60 * 1000));
1637
- // expect(date.subtract(date1, date2).toMinutes()).to.equal(1 / (60 * 1000));
1638
- // expect(date.subtract(date1, date2).toSeconds()).to.equal(1 / 1000);
1639
- // expect(date.subtract(date1, date2).toMilliseconds()).to.equal(1);
1640
- // });
1641
- // it('A millisecond (reverse)', function () {
1642
- // var date1 = new Date(2014, 11, 31, 23, 59, 59, 999);
1643
- // var date2 = new Date(2014, 11, 31, 23, 59, 59, 998);
1644
- // expect(date.subtract(date2, date1).toDays()).to.equal(-1 / (24 * 60 * 60 * 1000));
1645
- // expect(date.subtract(date2, date1).toHours()).to.equal(-1 / (60 * 60 * 1000));
1646
- // expect(date.subtract(date2, date1).toMinutes()).to.equal(-1 / (60 * 1000));
1647
- // expect(date.subtract(date2, date1).toSeconds()).to.equal(-1 / 1000);
1648
- // expect(date.subtract(date2, date1).toMilliseconds()).to.equal(-1);
1649
- // });
1650
- // });
1651
- //
1652
- // describe('validation', function () {
1653
- // it('2014-12-31 12:34:56.789 is valid', function () {
1654
- // expect(date.isValid('20141231123456789', 'YYYYMMDDHHmmssSSS')).to.be(true);
1655
- // });
1656
- // it('2012-2-29 is valid', function () {
1657
- // expect(date.isValid('2012-2-29', 'YYYY-M-D')).to.be(true);
1658
- // });
1659
- // it('2100-2-29 is invalid', function () {
1660
- // expect(date.isValid('2100-2-29', 'YYYY-M-D')).to.be(false);
1661
- // });
1662
- // it('2000-2-29 is valid', function () {
1663
- // expect(date.isValid('2000-2-29', 'YYYY-M-D')).to.be(true);
1664
- // });
1665
- // it('2014-2-29 is invalid', function () {
1666
- // expect(date.isValid('2014-2-29', 'YYYY-M-D')).to.be(false);
1667
- // });
1668
- // it('2014-2-28 is valid', function () {
1669
- // expect(date.isValid('2014-2-28', 'YYYY-M-D')).to.be(true);
1670
- // });
1671
- // it('2014-4-31 is invalid', function () {
1672
- // expect(date.isValid('2014-4-31', 'YYYY-M-D')).to.be(false);
1673
- // });
1674
- // it('24:00 is invalid', function () {
1675
- // expect(date.isValid('2014-4-30 24:00', 'YYYY-M-D H:m')).to.be(false);
1676
- // });
1677
- // it('13:00 PM is invalid', function () {
1678
- // expect(date.isValid('2014-4-30 13:00 PM', 'YYYY-M-D h:m A')).to.be(false);
1679
- // });
1680
- // it('23:60 is invalid', function () {
1681
- // expect(date.isValid('2014-4-30 23:60', 'YYYY-M-D H:m')).to.be(false);
1682
- // });
1683
- // it('23:59:60 is invalid', function () {
1684
- // expect(date.isValid('2014-4-30 23:59:60', 'YYYY-M-D H:m:s')).to.be(false);
1685
- // });
1686
- // it('All zero is invalid', function () {
1687
- // expect(date.isValid('00000000000000000', 'YYYYMMDDHHmmssSSS')).to.be(false);
1688
- // });
1689
- // it('All nine is invalid', function () {
1690
- // expect(date.isValid('99999999999999999', 'YYYYMMDDHHmmssSSS')).to.be(false);
1691
- // });
1692
- // it('foo is invalid', function () {
1693
- // expect(date.isValid('20150101235959', 'foo')).to.be(false);
1694
- // });
1695
- // it('bar is invalid', function () {
1696
- // expect(date.isValid('20150101235959', 'bar')).to.be(false);
1697
- // });
1698
- // it('YYYYMMDD is invalid', function () {
1699
- // expect(date.isValid('20150101235959', 'YYYYMMDD')).to.be(false);
1700
- // });
1701
- // it('20150101235959 is invalid', function () {
1702
- // expect(date.isValid('20150101235959', '20150101235959')).to.be(false);
1703
- // });
1704
- // it('Y == 0', function () {
1705
- // var dt = { Y: 0, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1706
- // expect(date.isValid(dt)).to.be(false);
1707
- // });
1708
- // it('Y > 0', function () {
1709
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1710
- // expect(date.isValid(dt)).to.be(true);
1711
- // });
1712
- // it('Y < 0', function () {
1713
- // var dt = { Y: -1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1714
- // expect(date.isValid(dt)).to.be(false);
1715
- // });
1716
- // it('Y > 9999', function () {
1717
- // var dt = { Y: 100000, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1718
- // expect(date.isValid(dt)).to.be(false);
1719
- // });
1720
- // it('M == 0', function () {
1721
- // var dt = { Y: 1, M: 0, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1722
- // expect(date.isValid(dt)).to.be(false);
1723
- // });
1724
- // it('M > 0', function () {
1725
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1726
- // expect(date.isValid(dt)).to.be(true);
1727
- // });
1728
- // it('M < 0', function () {
1729
- // var dt = { Y: 1, M: -1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1730
- // expect(date.isValid(dt)).to.be(false);
1731
- // });
1732
- // it('M > 12', function () {
1733
- // var dt = { Y: 1, M: 13, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1734
- // expect(date.isValid(dt)).to.be(false);
1735
- // });
1736
- // it('M < 13', function () {
1737
- // var dt = { Y: 1, M: 12, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1738
- // expect(date.isValid(dt)).to.be(true);
1739
- // });
1740
- // it('D == 0', function () {
1741
- // var dt = { Y: 1, M: 1, D: 0, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1742
- // expect(date.isValid(dt)).to.be(false);
1743
- // });
1744
- // it('D > 0', function () {
1745
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1746
- // expect(date.isValid(dt)).to.be(true);
1747
- // });
1748
- // it('D < 0', function () {
1749
- // var dt = { Y: 1, M: 1, D: -1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1750
- // expect(date.isValid(dt)).to.be(false);
1751
- // });
1752
- // it('D == 28', function () {
1753
- // var dt = { Y: 1, M: 2, D: 28, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1754
- // expect(date.isValid(dt)).to.be(true);
1755
- // });
1756
- // it('D == 29', function () {
1757
- // var dt = { Y: 2000, M: 2, D: 29, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1758
- // expect(date.isValid(dt)).to.be(true);
1759
- // });
1760
- // it('D == 30', function () {
1761
- // var dt = { Y: 2000, M: 2, D: 30, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1762
- // expect(date.isValid(dt)).to.be(false);
1763
- // });
1764
- // it('D == 31', function () {
1765
- // var dt = { Y: 1, M: 4, D: 31, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1766
- // expect(date.isValid(dt)).to.be(false);
1767
- // });
1768
- // it('D == 31', function () {
1769
- // var dt = { Y: 1, M: 3, D: 31, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1770
- // expect(date.isValid(dt)).to.be(true);
1771
- // });
1772
- // it('D > 31', function () {
1773
- // var dt = { Y: 1, M: 1, D: 32, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1774
- // expect(date.isValid(dt)).to.be(false);
1775
- // });
1776
- // it('H == 0', function () {
1777
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1778
- // expect(date.isValid(dt)).to.be(true);
1779
- // });
1780
- // it('H > 0', function () {
1781
- // var dt = { Y: 1, M: 1, D: 1, H: 1, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1782
- // expect(date.isValid(dt)).to.be(true);
1783
- // });
1784
- // it('H < 0', function () {
1785
- // var dt = { Y: 1, M: 1, D: 1, H: -1, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1786
- // expect(date.isValid(dt)).to.be(false);
1787
- // });
1788
- // it('H > 23', function () {
1789
- // var dt = { Y: 1, M: 1, D: 1, H: 24, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1790
- // expect(date.isValid(dt)).to.be(false);
1791
- // });
1792
- // it('H < 24', function () {
1793
- // var dt = { Y: 1, M: 1, D: 1, H: 23, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1794
- // expect(date.isValid(dt)).to.be(true);
1795
- // });
1796
- // it('m == 0', function () {
1797
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1798
- // expect(date.isValid(dt)).to.be(true);
1799
- // });
1800
- // it('m > 0', function () {
1801
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 1, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1802
- // expect(date.isValid(dt)).to.be(true);
1803
- // });
1804
- // it('m < 0', function () {
1805
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: -1, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1806
- // expect(date.isValid(dt)).to.be(false);
1807
- // });
1808
- // it('m > 59', function () {
1809
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 60, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1810
- // expect(date.isValid(dt)).to.be(false);
1811
- // });
1812
- // it('m < 60', function () {
1813
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 59, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1814
- // expect(date.isValid(dt)).to.be(true);
1815
- // });
1816
- // it('s == 0', function () {
1817
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1818
- // expect(date.isValid(dt)).to.be(true);
1819
- // });
1820
- // it('s > 0', function () {
1821
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 1, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1822
- // expect(date.isValid(dt)).to.be(true);
1823
- // });
1824
- // it('s < 0', function () {
1825
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: -1, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1826
- // expect(date.isValid(dt)).to.be(false);
1827
- // });
1828
- // it('s > 59', function () {
1829
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 60, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1830
- // expect(date.isValid(dt)).to.be(false);
1831
- // });
1832
- // it('s < 60', function () {
1833
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 59, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1834
- // expect(date.isValid(dt)).to.be(true);
1835
- // });
1836
- // it('S == 0', function () {
1837
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1838
- // expect(date.isValid(dt)).to.be(true);
1839
- // });
1840
- // it('S > 0', function () {
1841
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 1, Z: 0, _index: 1, _length: 1, _match: 1 };
1842
- // expect(date.isValid(dt)).to.be(true);
1843
- // });
1844
- // it('S < 0', function () {
1845
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: -1, Z: 0, _index: 1, _length: 1, _match: 1 };
1846
- // expect(date.isValid(dt)).to.be(false);
1847
- // });
1848
- // it('S > 999', function () {
1849
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 1000, Z: 0, _index: 1, _length: 1, _match: 1 };
1850
- // expect(date.isValid(dt)).to.be(false);
1851
- // });
1852
- // it('S < 1000', function () {
1853
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 999, Z: 0, _index: 1, _length: 1, _match: 1 };
1854
- // expect(date.isValid(dt)).to.be(true);
1855
- // });
1856
- // it('Z < -840', function () {
1857
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: -841, _index: 1, _length: 1, _match: 1 };
1858
- // expect(date.isValid(dt)).to.be(false);
1859
- // });
1860
- // it('Z > -841', function () {
1861
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: -840, _index: 1, _length: 1, _match: 1 };
1862
- // expect(date.isValid(dt)).to.be(true);
1863
- // });
1864
- // it('Z > 720', function () {
1865
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 721, _index: 1, _length: 1, _match: 1 };
1866
- // expect(date.isValid(dt)).to.be(false);
1867
- // });
1868
- // it('Z < 721', function () {
1869
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 720, _index: 1, _length: 1, _match: 1 };
1870
- // expect(date.isValid(dt)).to.be(true);
1871
- // });
1872
- // it('index == 0', function () {
1873
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 0, _match: 1 };
1874
- // expect(date.isValid(dt)).to.be(false);
1875
- // });
1876
- // it('index > 0', function () {
1877
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1878
- // expect(date.isValid(dt)).to.be(true);
1879
- // });
1880
- // it('length < 0', function () {
1881
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: -1, _length: -1, _match: 1 };
1882
- // expect(date.isValid(dt)).to.be(false);
1883
- // });
1884
- // it('length == 0', function () {
1885
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 0, _match: 1 };
1886
- // expect(date.isValid(dt)).to.be(false);
1887
- // });
1888
- // it('length > 0', function () {
1889
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 1, _match: 1 };
1890
- // expect(date.isValid(dt)).to.be(false);
1891
- // });
1892
- // it('length < 0', function () {
1893
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: -1, _match: 1 };
1894
- // expect(date.isValid(dt)).to.be(false);
1895
- // });
1896
- // it('match == 0', function () {
1897
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 0 };
1898
- // expect(date.isValid(dt)).to.be(false);
1899
- // });
1900
- // it('match > 0', function () {
1901
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: 1 };
1902
- // expect(date.isValid(dt)).to.be(true);
1903
- // });
1904
- // it('match < 0', function () {
1905
- // var dt = { Y: 1, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 1, _length: 1, _match: -1 };
1906
- // expect(date.isValid(dt)).to.be(false);
1907
- // });
1908
- // });
1909
- //
1910
- // describe('leap year', function () {
1911
- // it('2012-2-29 It is valid.', function () {
1912
- // expect(date.isLeapYear(new Date(2012, 0, 1).getFullYear())).to.be(true);
1913
- // });
1914
- // it('2100-2-29 It is invalid.', function () {
1915
- // expect(date.isLeapYear(new Date(2100, 0, 1).getFullYear())).to.be(false);
1916
- // });
1917
- // it('2000-2-29 It is valid.', function () {
1918
- // expect(date.isLeapYear(new Date(2000, 0, 1).getFullYear())).to.be(true);
1919
- // });
1920
- // it('2014-2-29 It is invalid.', function () {
1921
- // expect(date.isLeapYear(new Date(2014, 0, 1).getFullYear())).to.be(false);
1922
- // });
1923
- // });
1924
- //
1925
- // describe('the same day', function () {
1926
- // it('the same', function () {
1927
- // var date1 = new Date(2016, 0, 1, 2, 34, 56, 789);
1928
- // var date2 = new Date(2016, 0, 1, 23, 4, 56, 789);
1929
- // expect(date.isSameDay(date1, date2)).to.be(true);
1930
- // });
1931
- // it('the same', function () {
1932
- // var date1 = new Date(1916, 0, 1, 2, 34, 56, 789);
1933
- // var date2 = new Date(1916, 0, 1, 23, 4, 56, 789);
1934
- // expect(date.isSameDay(date1, date2)).to.be(true);
1935
- // });
1936
- // it('not the same', function () {
1937
- // var date1 = new Date(2016, 0, 1, 23, 59, 59, 999);
1938
- // var date2 = new Date(2016, 0, 2, 0, 0, 0, 0);
1939
- // expect(date.isSameDay(date1, date2)).to.be(false);
1940
- // });
1941
- // it('not the same', function () {
1942
- // var date1 = new Date(1916, 0, 1, 23, 59, 59, 999);
1943
- // var date2 = new Date(1916, 0, 2, 0, 0, 0, 0);
1944
- // expect(date.isSameDay(date1, date2)).to.be(false);
1945
- // });
1946
- // });
1947
- //
1948
- // describe('customize', function () {
1949
- // it('getting current locale', function () {
1950
- // expect(date.locale()).to.equal('en');
1951
- // });
1952
- // it('changing default meridiem', function () {
1953
- // date.extend({ res: { A: ['am', 'pm'] } });
1954
- // expect(date.format(new Date(2012, 0, 1, 12), 'h A')).to.not.equal('12 pm');
1955
- // });
1956
- // it('extending default meridiem', function () {
1957
- // date.extend({
1958
- // res: {
1959
- // a: ['am', 'pm']
1960
- // },
1961
- // formatter: {
1962
- // a: function (d) {
1963
- // return this.res.a[d.getHours() > 11 | 0];
1964
- // }
1965
- // }
1966
- // });
1967
- // expect(date.format(new Date(2012, 0, 1, 12), 'h a')).to.equal('12 pm');
1968
- // });
1969
- // });
1970
- //
1971
- //}(this));
1887
+ describe('customize', function () {
1888
+ it('getting current locale', function () {
1889
+ expect(date.locale()).to.equal('en');
1890
+ });
1891
+ it('changing default meridiem', function () {
1892
+ date.extend({ res: { A: ['am', 'pm'] } });
1893
+ expect(date.format(new Date(2012, 0, 1, 12), 'h A')).to.not.equal('12 pm');
1894
+ });
1895
+ it('extending default meridiem', function () {
1896
+ date.extend({
1897
+ res: {
1898
+ a: ['am', 'pm']
1899
+ },
1900
+ formatter: {
1901
+ a: function (d) {
1902
+ return this.res.a[d.getHours() > 11 | 0];
1903
+ }
1904
+ }
1905
+ });
1906
+ expect(date.format(new Date(2012, 0, 1, 12), 'h a')).to.equal('12 pm');
1907
+ });
1908
+ });