Bug:Fix file validation issue
[vnfsdk/refrepo.git] / vnfmarket / src / main / webapp / vnfmarket / node_modules / dateformat / test / test_formats.js
1 var assert = require('assert');
2
3 var _ = require('underscore');
4
5 var dateFormat = require('../lib/dateformat');
6
7 var expects = {
8   'default':               'Wed Nov 26 2014 13:19:44',
9   'shortDate':             '11/26/14',
10   'mediumDate':            'Nov 26, 2014',
11   'longDate':              'November 26, 2014',
12   'fullDate':              'Wednesday, November 26, 2014',
13   'shortTime':             '1:19 PM',
14   'mediumTime':            '1:19:44 PM',
15   'longTime':              '1:19:44 PM %TZ_PREFIX%%TZ_OFFSET%',
16   'isoDate':               '2014-11-26',
17   'isoTime':               '13:19:44',
18   'isoDateTime':           '2014-11-26T13:19:44%TZ_OFFSET%',
19   'isoUtcDateTime':        '',
20   'expiresHeaderFormat':   'Wed, 26 Nov 2014 13:19:44 %TZ_PREFIX%%TZ_OFFSET%'
21 };
22
23 function pad(num, size) {
24     var s = num + '';
25     while (s.length < size) {
26       s = '0' + s;
27     }
28     return s;
29 }
30
31 function parseOffset(date) {
32   var offset = date.getTimezoneOffset();
33   var hours = Math.floor(-1 * offset / 60);
34   var minutes = (-1 * offset) - (hours * 60);
35   var sign = offset > 0 ? '-' : '+';
36   return {
37     offset: offset,
38     hours: hours,
39     minutes: minutes,
40     sign: sign,
41   };
42 }
43
44 function timezoneOffset(date) {
45   var offset = parseOffset(date);
46   return offset.sign + pad(offset.hours, 2) + pad(offset.minutes, 2);
47 }
48
49 describe('dateformat([now], [mask])', function() {
50   _.each(dateFormat.masks, function(value, key) {
51     it('should format `' + key + '` mask', function(done) {
52       var now = new Date(2014, 10, 26, 13, 19, 44);
53       var tzOffset = timezoneOffset(now);
54       var expected = expects[key].replace(/%TZ_PREFIX%/, 'GMT')
55                                  .replace(/%TZ_OFFSET%/g, tzOffset)
56                                  .replace(/GMT\+0000/g, 'UTC');
57       if (key === 'isoUtcDateTime') {
58         var offset = parseOffset(now);
59         now.setHours(now.getHours() - offset.hours,
60                      now.getMinutes() - offset.minutes);
61         var expected = now.toISOString().replace(/\.000/g, '');
62       }
63       var actual = dateFormat(now, key);
64       assert.strictEqual(actual, expected);
65       done();
66     });
67   });
68   it('should use `default` mask, when `mask` is empty', function(done) {
69     var now = new Date(2014, 10, 26, 13, 19, 44);
70     var expected = expects['default'];
71     var actual = dateFormat(now);
72
73     assert.strictEqual(actual, expected);
74     done();
75   });
76 });