javascript-time-ago 2.6.2 → 2.6.3
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/bundle/javascript-time-ago.js +1 -1
- package/bundle/javascript-time-ago.js.map +1 -1
- package/bundle/javascript-time-ago.min.js +1 -1
- package/bundle/javascript-time-ago.min.js.map +1 -1
- package/commonjs/FullDateFormatter.test.js +11 -9
- package/commonjs/FullDateFormatter.test.js.map +1 -1
- package/commonjs/TimeAgo.test.js +237 -236
- package/commonjs/TimeAgo.test.js.map +1 -1
- package/commonjs/cache.test.js +8 -6
- package/commonjs/cache.test.js.map +1 -1
- package/commonjs/isStyleObject.test.js +21 -19
- package/commonjs/isStyleObject.test.js.map +1 -1
- package/commonjs/locale.test.js +16 -14
- package/commonjs/locale.test.js.map +1 -1
- package/commonjs/steps/approximate.test.js +26 -24
- package/commonjs/steps/approximate.test.js.map +1 -1
- package/commonjs/steps/getStep.test.js +20 -18
- package/commonjs/steps/getStep.test.js.map +1 -1
- package/commonjs/steps/getStepDenominator.test.js +9 -7
- package/commonjs/steps/getStepDenominator.test.js.map +1 -1
- package/commonjs/steps/getStepMinTime.test.js +9 -7
- package/commonjs/steps/getStepMinTime.test.js.map +1 -1
- package/commonjs/steps/getTimeToNextUpdate.test.js +56 -54
- package/commonjs/steps/getTimeToNextUpdate.test.js.map +1 -1
- package/commonjs/steps/getTimeToNextUpdateForUnit.test.js +20 -18
- package/commonjs/steps/getTimeToNextUpdateForUnit.test.js.map +1 -1
- package/commonjs/steps/helpers.test.js +6 -4
- package/commonjs/steps/helpers.test.js.map +1 -1
- package/commonjs/steps/renameLegacyProperties.test.js +12 -10
- package/commonjs/steps/renameLegacyProperties.test.js.map +1 -1
- package/commonjs/steps/round.test.js +27 -25
- package/commonjs/steps/round.test.js.map +1 -1
- package/commonjs/style/approximateTime.test.js +6 -5
- package/commonjs/style/approximateTime.test.js.map +1 -1
- package/commonjs/style/mini.test.js +62 -60
- package/commonjs/style/mini.test.js.map +1 -1
- package/commonjs/style/miniMinute.test.js +27 -25
- package/commonjs/style/miniMinute.test.js.map +1 -1
- package/commonjs/style/miniMinuteNow.test.js +27 -25
- package/commonjs/style/miniMinuteNow.test.js.map +1 -1
- package/commonjs/style/miniNow.test.js +27 -25
- package/commonjs/style/miniNow.test.js.map +1 -1
- package/commonjs/style/renameLegacyProperties.test.js +9 -7
- package/commonjs/style/renameLegacyProperties.test.js.map +1 -1
- package/commonjs/style/round.test.js +81 -79
- package/commonjs/style/round.test.js.map +1 -1
- package/commonjs/style/roundMinute.test.js +50 -48
- package/commonjs/style/roundMinute.test.js.map +1 -1
- package/commonjs/style/twitter.test.js +86 -84
- package/commonjs/style/twitter.test.js.map +1 -1
- package/commonjs/style/twitterFirstMinute.test.js +33 -31
- package/commonjs/style/twitterFirstMinute.test.js.map +1 -1
- package/commonjs/style/twitterMinute.test.js +32 -30
- package/commonjs/style/twitterMinute.test.js.map +1 -1
- package/commonjs/style/twitterMinuteNow.test.js +32 -30
- package/commonjs/style/twitterMinuteNow.test.js.map +1 -1
- package/commonjs/style/twitterNow.test.js +34 -32
- package/commonjs/style/twitterNow.test.js.map +1 -1
- package/load-all-locales/index.cjs +15 -0
- package/load-all-locales/index.cjs.js +15 -0
- package/load-all-locales/index.js +30 -0
- package/locale/ak.json +8 -26
- package/locale/ak.json.js +8 -26
- package/locale/am.json +3 -3
- package/locale/am.json.js +3 -3
- package/locale/ba/package.json +16 -0
- package/locale/ba.json +159 -0
- package/locale/ba.json.d.ts +4 -0
- package/locale/ba.json.js +159 -0
- package/locale/be-tarask.json +4 -4
- package/locale/be-tarask.json.js +4 -4
- package/locale/be.json +4 -4
- package/locale/be.json.js +4 -4
- package/locale/bn.json +6 -6
- package/locale/bn.json.js +6 -6
- package/locale/bs.json +36 -30
- package/locale/bs.json.js +36 -30
- package/locale/bua/package.json +16 -0
- package/locale/bua.json +159 -0
- package/locale/bua.json.d.ts +4 -0
- package/locale/bua.json.js +159 -0
- package/locale/cv.json +134 -82
- package/locale/cv.json.js +134 -82
- package/locale/en-EE/package.json +16 -0
- package/locale/en-EE.json +219 -0
- package/locale/en-EE.json.d.ts +4 -0
- package/locale/en-EE.json.js +219 -0
- package/locale/en-GE/package.json +16 -0
- package/locale/en-GE.json +219 -0
- package/locale/en-GE.json.d.ts +4 -0
- package/locale/en-GE.json.js +219 -0
- package/locale/en-LT/package.json +16 -0
- package/locale/en-LT.json +219 -0
- package/locale/en-LT.json.d.ts +4 -0
- package/locale/en-LT.json.js +219 -0
- package/locale/en-LV/package.json +16 -0
- package/locale/en-LV.json +219 -0
- package/locale/en-LV.json.d.ts +4 -0
- package/locale/en-LV.json.js +219 -0
- package/locale/en-UA/package.json +16 -0
- package/locale/en-UA.json +219 -0
- package/locale/en-UA.json.d.ts +4 -0
- package/locale/en-UA.json.js +219 -0
- package/locale/es-MX.json +2 -8
- package/locale/es-MX.json.js +2 -8
- package/locale/fr-CA.json +4 -4
- package/locale/fr-CA.json.js +4 -4
- package/locale/fr.json +4 -4
- package/locale/fr.json.js +4 -4
- package/locale/he.json +74 -86
- package/locale/he.json.js +74 -86
- package/locale/ht.json +4 -4
- package/locale/ht.json.js +4 -4
- package/locale/ie.json +15 -9
- package/locale/ie.json.js +15 -9
- package/locale/kk-Arab/package.json +16 -0
- package/locale/kk-Arab.json +159 -0
- package/locale/kk-Arab.json.d.ts +4 -0
- package/locale/kk-Arab.json.js +159 -0
- package/locale/kok-Latn.json +138 -39
- package/locale/kok-Latn.json.js +138 -39
- package/locale/kok.json +169 -64
- package/locale/kok.json.js +169 -64
- package/locale/ku.json +166 -73
- package/locale/ku.json.js +166 -73
- package/locale/mk.json +20 -20
- package/locale/mk.json.js +20 -20
- package/locale/nso/package.json +16 -0
- package/locale/nso.json +159 -0
- package/locale/nso.json.d.ts +4 -0
- package/locale/nso.json.js +159 -0
- package/locale/rm.json +151 -85
- package/locale/rm.json.js +151 -85
- package/locale/ro.json +4 -2
- package/locale/ro.json.js +4 -2
- package/locale/rw/package.json +16 -0
- package/locale/rw.json +159 -0
- package/locale/rw.json.d.ts +4 -0
- package/locale/rw.json.js +159 -0
- package/locale/scn/package.json +16 -0
- package/locale/scn.json +249 -0
- package/locale/scn.json.d.ts +4 -0
- package/locale/scn.json.js +249 -0
- package/locale/sd-Deva/package.json +16 -0
- package/locale/sd-Deva.json +159 -0
- package/locale/sd-Deva.json.d.ts +4 -0
- package/locale/sd-Deva.json.js +159 -0
- package/locale/sd.json +77 -20
- package/locale/sd.json.js +77 -20
- package/locale/shn/package.json +16 -0
- package/locale/shn.json +159 -0
- package/locale/shn.json.d.ts +4 -0
- package/locale/shn.json.js +159 -0
- package/locale/sv.json +3 -3
- package/locale/sv.json.js +3 -3
- package/locale/syr.json +27 -27
- package/locale/syr.json.js +27 -27
- package/locale/ta.json +15 -9
- package/locale/ta.json.js +15 -9
- package/locale/tn.json +27 -27
- package/locale/tn.json.js +27 -27
- package/locale/tok/package.json +16 -0
- package/locale/tok.json +159 -0
- package/locale/tok.json.d.ts +4 -0
- package/locale/tok.json.js +159 -0
- package/locale/tyv/package.json +16 -0
- package/locale/tyv.json +159 -0
- package/locale/tyv.json.d.ts +4 -0
- package/locale/tyv.json.js +159 -0
- package/locale/xh.json +18 -18
- package/locale/xh.json.js +18 -18
- package/modules/FullDateFormatter.test.js +2 -0
- package/modules/FullDateFormatter.test.js.map +1 -1
- package/modules/TimeAgo.test.js +190 -189
- package/modules/TimeAgo.test.js.map +1 -1
- package/modules/cache.test.js +2 -0
- package/modules/cache.test.js.map +1 -1
- package/modules/isStyleObject.test.js +19 -17
- package/modules/isStyleObject.test.js.map +1 -1
- package/modules/locale.test.js +12 -10
- package/modules/locale.test.js.map +1 -1
- package/modules/steps/approximate.test.js +2 -0
- package/modules/steps/approximate.test.js.map +1 -1
- package/modules/steps/getStep.test.js +7 -5
- package/modules/steps/getStep.test.js.map +1 -1
- package/modules/steps/getStepDenominator.test.js +6 -4
- package/modules/steps/getStepDenominator.test.js.map +1 -1
- package/modules/steps/getStepMinTime.test.js +6 -4
- package/modules/steps/getStepMinTime.test.js.map +1 -1
- package/modules/steps/getTimeToNextUpdate.test.js +36 -34
- package/modules/steps/getTimeToNextUpdate.test.js.map +1 -1
- package/modules/steps/getTimeToNextUpdateForUnit.test.js +12 -10
- package/modules/steps/getTimeToNextUpdateForUnit.test.js.map +1 -1
- package/modules/steps/helpers.test.js +4 -2
- package/modules/steps/helpers.test.js.map +1 -1
- package/modules/steps/renameLegacyProperties.test.js +8 -6
- package/modules/steps/renameLegacyProperties.test.js.map +1 -1
- package/modules/steps/round.test.js +2 -0
- package/modules/steps/round.test.js.map +1 -1
- package/modules/style/approximateTime.test.js +3 -2
- package/modules/style/approximateTime.test.js.map +1 -1
- package/modules/style/mini.test.js +58 -56
- package/modules/style/mini.test.js.map +1 -1
- package/modules/style/miniMinute.test.js +25 -23
- package/modules/style/miniMinute.test.js.map +1 -1
- package/modules/style/miniMinuteNow.test.js +25 -23
- package/modules/style/miniMinuteNow.test.js.map +1 -1
- package/modules/style/miniNow.test.js +25 -23
- package/modules/style/miniNow.test.js.map +1 -1
- package/modules/style/renameLegacyProperties.test.js +6 -4
- package/modules/style/renameLegacyProperties.test.js.map +1 -1
- package/modules/style/round.test.js +76 -74
- package/modules/style/round.test.js.map +1 -1
- package/modules/style/roundMinute.test.js +47 -45
- package/modules/style/roundMinute.test.js.map +1 -1
- package/modules/style/twitter.test.js +72 -70
- package/modules/style/twitter.test.js.map +1 -1
- package/modules/style/twitterFirstMinute.test.js +29 -27
- package/modules/style/twitterFirstMinute.test.js.map +1 -1
- package/modules/style/twitterMinute.test.js +29 -27
- package/modules/style/twitterMinute.test.js.map +1 -1
- package/modules/style/twitterMinuteNow.test.js +29 -27
- package/modules/style/twitterMinuteNow.test.js.map +1 -1
- package/modules/style/twitterNow.test.js +31 -29
- package/modules/style/twitterNow.test.js.map +1 -1
- package/package.json +126 -5
|
@@ -4,13 +4,15 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
4
4
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
6
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
import { describe, it } from 'mocha';
|
|
8
|
+
import { expect } from 'chai';
|
|
7
9
|
import twitter from './twitter.js';
|
|
8
10
|
import TimeAgo from '../TimeAgo.js';
|
|
9
11
|
import { hour, minute, day, month, year } from '../steps/index.js';
|
|
10
12
|
describe('style/twitter', function () {
|
|
11
13
|
it('should fallback from "mini" to "narrow"', function () {
|
|
12
14
|
var timeAgo = new TimeAgo('ccp');
|
|
13
|
-
timeAgo.format(Date.now() - 3 * hour * 1000, 'twitter').
|
|
15
|
+
expect(timeAgo.format(Date.now() - 3 * hour * 1000, 'twitter')).to.include(' 𑄊𑄮𑄚𑄴𑄓 𑄃𑄉𑄬');
|
|
14
16
|
});
|
|
15
17
|
it('should format Twitter style relative time (English) (round: "round")', function () {
|
|
16
18
|
var timeAgo = new TimeAgo('en');
|
|
@@ -19,19 +21,19 @@ describe('style/twitter', function () {
|
|
|
19
21
|
now: 0
|
|
20
22
|
}, twitter));
|
|
21
23
|
};
|
|
22
|
-
formatDatePastBy(0.49).
|
|
23
|
-
formatDatePastBy(0.5).
|
|
24
|
-
formatDatePastBy(59.49).
|
|
25
|
-
formatDatePastBy(59.5).
|
|
26
|
-
formatDatePastBy(1.49 * minute).
|
|
27
|
-
formatDatePastBy(1.5 * minute).
|
|
24
|
+
expect(formatDatePastBy(0.49)).to.equal('0s');
|
|
25
|
+
expect(formatDatePastBy(0.5)).to.equal('1s');
|
|
26
|
+
expect(formatDatePastBy(59.49)).to.equal('59s');
|
|
27
|
+
expect(formatDatePastBy(59.5)).to.equal('1m');
|
|
28
|
+
expect(formatDatePastBy(1.49 * minute)).to.equal('1m');
|
|
29
|
+
expect(formatDatePastBy(1.5 * minute)).to.equal('2m');
|
|
28
30
|
// …
|
|
29
|
-
formatDatePastBy(59.49 * minute).
|
|
30
|
-
formatDatePastBy(59.5 * minute).
|
|
31
|
-
formatDatePastBy(1.49 * hour).
|
|
32
|
-
formatDatePastBy(1.5 * hour).
|
|
31
|
+
expect(formatDatePastBy(59.49 * minute)).to.equal('59m');
|
|
32
|
+
expect(formatDatePastBy(59.5 * minute)).to.equal('1h');
|
|
33
|
+
expect(formatDatePastBy(1.49 * hour)).to.equal('1h');
|
|
34
|
+
expect(formatDatePastBy(1.5 * hour)).to.equal('2h');
|
|
33
35
|
// …
|
|
34
|
-
formatDatePastBy(23.49 * hour).
|
|
36
|
+
expect(formatDatePastBy(23.49 * hour)).to.equal('23h');
|
|
35
37
|
});
|
|
36
38
|
it('should format Twitter style relative time (English) (round: "floor")', function () {
|
|
37
39
|
var timeAgo = new TimeAgo('en');
|
|
@@ -42,24 +44,24 @@ describe('style/twitter', function () {
|
|
|
42
44
|
round: 'floor'
|
|
43
45
|
}));
|
|
44
46
|
};
|
|
45
|
-
formatDatePastBy(0).
|
|
46
|
-
formatDatePastBy(0.9).
|
|
47
|
-
formatDatePastBy(1).
|
|
48
|
-
formatDatePastBy(59.9).
|
|
49
|
-
formatDatePastBy(60).
|
|
50
|
-
formatDatePastBy(1.9 * minute).
|
|
51
|
-
formatDatePastBy(2 * minute).
|
|
52
|
-
formatDatePastBy(2.9 * minute).
|
|
53
|
-
formatDatePastBy(3 * minute).
|
|
47
|
+
expect(formatDatePastBy(0)).to.equal('0s');
|
|
48
|
+
expect(formatDatePastBy(0.9)).to.equal('0s');
|
|
49
|
+
expect(formatDatePastBy(1)).to.equal('1s');
|
|
50
|
+
expect(formatDatePastBy(59.9)).to.equal('59s');
|
|
51
|
+
expect(formatDatePastBy(60)).to.equal('1m');
|
|
52
|
+
expect(formatDatePastBy(1.9 * minute)).to.equal('1m');
|
|
53
|
+
expect(formatDatePastBy(2 * minute)).to.equal('2m');
|
|
54
|
+
expect(formatDatePastBy(2.9 * minute)).to.equal('2m');
|
|
55
|
+
expect(formatDatePastBy(3 * minute)).to.equal('3m');
|
|
54
56
|
// …
|
|
55
|
-
formatDatePastBy(59.9 * minute).
|
|
56
|
-
formatDatePastBy(60 * minute).
|
|
57
|
-
formatDatePastBy(1.9 * hour).
|
|
58
|
-
formatDatePastBy(2 * hour).
|
|
59
|
-
formatDatePastBy(2.9 * hour).
|
|
60
|
-
formatDatePastBy(3 * hour).
|
|
57
|
+
expect(formatDatePastBy(59.9 * minute)).to.equal('59m');
|
|
58
|
+
expect(formatDatePastBy(60 * minute)).to.equal('1h');
|
|
59
|
+
expect(formatDatePastBy(1.9 * hour)).to.equal('1h');
|
|
60
|
+
expect(formatDatePastBy(2 * hour)).to.equal('2h');
|
|
61
|
+
expect(formatDatePastBy(2.9 * hour)).to.equal('2h');
|
|
62
|
+
expect(formatDatePastBy(3 * hour)).to.equal('3h');
|
|
61
63
|
// …
|
|
62
|
-
formatDatePastBy(23.9 * hour).
|
|
64
|
+
expect(formatDatePastBy(23.9 * hour)).to.equal('23h');
|
|
63
65
|
});
|
|
64
66
|
it('should format Twitter style relative time (English) (absolute dates)', function () {
|
|
65
67
|
var timeAgo = new TimeAgo('en');
|
|
@@ -71,17 +73,17 @@ describe('style/twitter', function () {
|
|
|
71
73
|
now: now
|
|
72
74
|
}, twitter));
|
|
73
75
|
};
|
|
74
|
-
formatDatePastBy(day + 2 * minute + hour).
|
|
76
|
+
expect(formatDatePastBy(day + 2 * minute + hour)).to.equal('Apr 9');
|
|
75
77
|
// …
|
|
76
78
|
// `month` is about 30.5 days.
|
|
77
|
-
formatDatePastBy(month * 3).
|
|
78
|
-
formatDatePastBy(month * 4).
|
|
79
|
-
formatDatePastBy(year).
|
|
79
|
+
expect(formatDatePastBy(month * 3)).to.equal('Jan 10');
|
|
80
|
+
expect(formatDatePastBy(month * 4)).to.equal('Dec 10, 2015');
|
|
81
|
+
expect(formatDatePastBy(year)).to.equal('Apr 11, 2015');
|
|
80
82
|
|
|
81
83
|
// Test future dates.
|
|
82
84
|
// `month` is about 30.5 days.
|
|
83
|
-
formatDatePastBy(-1 * month * 8).
|
|
84
|
-
formatDatePastBy(-1 * month * 9).
|
|
85
|
+
expect(formatDatePastBy(-1 * month * 8)).to.equal('Dec 10');
|
|
86
|
+
expect(formatDatePastBy(-1 * month * 9)).to.equal('Jan 9, 2017');
|
|
85
87
|
});
|
|
86
88
|
it('should format Twitter style relative time (Russian)', function () {
|
|
87
89
|
var timeAgo = new TimeAgo('ru');
|
|
@@ -91,12 +93,12 @@ describe('style/twitter', function () {
|
|
|
91
93
|
now: now
|
|
92
94
|
}, twitter));
|
|
93
95
|
};
|
|
94
|
-
formatDatePastBy(0).
|
|
95
|
-
formatDatePastBy(1).
|
|
96
|
-
formatDatePastBy(minute).
|
|
97
|
-
formatDatePastBy(hour).
|
|
98
|
-
formatDatePastBy(day + 62 * minute).
|
|
99
|
-
formatDatePastBy(year).
|
|
96
|
+
expect(formatDatePastBy(0)).to.equal('0 с');
|
|
97
|
+
expect(formatDatePastBy(1)).to.equal('1 с');
|
|
98
|
+
expect(formatDatePastBy(minute)).to.equal('1 мин');
|
|
99
|
+
expect(formatDatePastBy(hour)).to.equal('1 ч');
|
|
100
|
+
expect(formatDatePastBy(day + 62 * minute)).to.equal('9 апр.');
|
|
101
|
+
expect(formatDatePastBy(year)).to.equal('11 апр. 2015 г.');
|
|
100
102
|
});
|
|
101
103
|
it('should format Twitter style relative time (Korean)', function () {
|
|
102
104
|
var timeAgo = new TimeAgo('ko');
|
|
@@ -106,10 +108,10 @@ describe('style/twitter', function () {
|
|
|
106
108
|
now: now
|
|
107
109
|
}, twitter));
|
|
108
110
|
};
|
|
109
|
-
formatDatePastBy(minute).
|
|
110
|
-
formatDatePastBy(hour).
|
|
111
|
-
formatDatePastBy(day + 62 * minute).
|
|
112
|
-
formatDatePastBy(year).
|
|
111
|
+
expect(formatDatePastBy(minute)).to.equal('1분');
|
|
112
|
+
expect(formatDatePastBy(hour)).to.equal('1시간');
|
|
113
|
+
expect(formatDatePastBy(day + 62 * minute)).to.equal('4월 9일');
|
|
114
|
+
expect(formatDatePastBy(year)).to.equal('2015년 4월 11일');
|
|
113
115
|
});
|
|
114
116
|
it('should format Twitter style relative time (German)', function () {
|
|
115
117
|
var timeAgo = new TimeAgo('de');
|
|
@@ -119,10 +121,10 @@ describe('style/twitter', function () {
|
|
|
119
121
|
now: now
|
|
120
122
|
}, twitter));
|
|
121
123
|
};
|
|
122
|
-
formatDatePastBy(minute).
|
|
123
|
-
formatDatePastBy(hour).
|
|
124
|
-
formatDatePastBy(day + 62 * minute).
|
|
125
|
-
formatDatePastBy(year).
|
|
124
|
+
expect(formatDatePastBy(minute)).to.equal('1 Min.');
|
|
125
|
+
expect(formatDatePastBy(hour)).to.equal('1 Std.');
|
|
126
|
+
expect(formatDatePastBy(day + 62 * minute)).to.equal('9. Apr.');
|
|
127
|
+
expect(formatDatePastBy(year)).to.equal('11. Apr. 2015');
|
|
126
128
|
});
|
|
127
129
|
it('should format Twitter style relative time (French)', function () {
|
|
128
130
|
var timeAgo = new TimeAgo('fr');
|
|
@@ -132,10 +134,10 @@ describe('style/twitter', function () {
|
|
|
132
134
|
now: now
|
|
133
135
|
}, twitter));
|
|
134
136
|
};
|
|
135
|
-
formatDatePastBy(minute).
|
|
136
|
-
formatDatePastBy(hour).
|
|
137
|
-
formatDatePastBy(day + 62 * minute).
|
|
138
|
-
formatDatePastBy(year).
|
|
137
|
+
expect(formatDatePastBy(minute)).to.equal('1 min.');
|
|
138
|
+
expect(formatDatePastBy(hour)).to.equal('1 h');
|
|
139
|
+
expect(formatDatePastBy(day + 62 * minute)).to.equal('9 avr.');
|
|
140
|
+
expect(formatDatePastBy(year)).to.equal('11 avr. 2015');
|
|
139
141
|
});
|
|
140
142
|
it('should format Twitter style relative time (Chinese)', function () {
|
|
141
143
|
var timeAgo = new TimeAgo('zh');
|
|
@@ -145,10 +147,10 @@ describe('style/twitter', function () {
|
|
|
145
147
|
now: now
|
|
146
148
|
}, twitter));
|
|
147
149
|
};
|
|
148
|
-
formatDatePastBy(minute).
|
|
149
|
-
formatDatePastBy(hour).
|
|
150
|
-
formatDatePastBy(day + 62 * minute).
|
|
151
|
-
formatDatePastBy(year).
|
|
150
|
+
expect(formatDatePastBy(minute)).to.equal('1分钟');
|
|
151
|
+
expect(formatDatePastBy(hour)).to.equal('1小时');
|
|
152
|
+
expect(formatDatePastBy(day + 62 * minute)).to.equal('4月9日');
|
|
153
|
+
expect(formatDatePastBy(year)).to.equal('2015年4月11日');
|
|
152
154
|
});
|
|
153
155
|
|
|
154
156
|
// This test won't pass because `Intl.DateTimeFormat` is read at
|
|
@@ -158,22 +160,22 @@ describe('style/twitter', function () {
|
|
|
158
160
|
// Intl.DateTimeFormat = undefined
|
|
159
161
|
//
|
|
160
162
|
// const timeAgo = new TimeAgo('en')
|
|
161
|
-
// timeAgo.format(Date.now() - 365 * 24 * hour * 1000, 'twitter').
|
|
163
|
+
// expect(timeAgo.format(Date.now() - 365 * 24 * hour * 1000, 'twitter')).to.equal('1yr')
|
|
162
164
|
//
|
|
163
165
|
// Intl.DateTimeFormat = DateTimeFormat
|
|
164
166
|
// })
|
|
165
167
|
|
|
166
168
|
it('should support timestamp argument on `yearMonthAndDay.test()`', function () {
|
|
167
169
|
var timeAgo = new TimeAgo('en');
|
|
168
|
-
timeAgo.format(0, 'twitter').
|
|
170
|
+
expect(timeAgo.format(0, 'twitter')).to.equal('Jan 1, 1970');
|
|
169
171
|
});
|
|
170
172
|
it('should round as "floor"', function () {
|
|
171
173
|
var timeAgo = new TimeAgo('en');
|
|
172
174
|
var test = function test(time, result) {
|
|
173
|
-
|
|
175
|
+
expect(timeAgo.format(time, 'twitter', {
|
|
174
176
|
round: 'floor',
|
|
175
177
|
now: 0
|
|
176
|
-
}).
|
|
178
|
+
})).to.equal(result);
|
|
177
179
|
};
|
|
178
180
|
test(2001, '2s');
|
|
179
181
|
test(2000, '2s');
|
|
@@ -197,32 +199,32 @@ describe('style/twitter', function () {
|
|
|
197
199
|
|
|
198
200
|
// April 10th, 2016, 12:00 (two years earlier).
|
|
199
201
|
var now = new Date(2016, 3, 10, 12, 0).getTime();
|
|
200
|
-
timeAgo.format(date, 'twitter', {
|
|
202
|
+
expect(timeAgo.format(date, 'twitter', {
|
|
201
203
|
now: now,
|
|
202
204
|
getTimeToNextUpdate: true,
|
|
203
205
|
getTimeToNextUpdateUncapped: true
|
|
204
|
-
}).
|
|
206
|
+
})).to.deep.equal(['Apr 10, 2018',
|
|
205
207
|
// Updates on Jan 1st, 2018, 00:00.
|
|
206
208
|
new Date(2018, 0, 1).getTime() - now]);
|
|
207
209
|
|
|
208
210
|
// 1st, 2018, 00:00.
|
|
209
211
|
now = new Date(2018, 0, 1).getTime();
|
|
210
|
-
timeAgo.format(date, 'twitter', {
|
|
212
|
+
expect(timeAgo.format(date, 'twitter', {
|
|
211
213
|
now: now,
|
|
212
214
|
getTimeToNextUpdate: true,
|
|
213
215
|
getTimeToNextUpdateUncapped: true,
|
|
214
216
|
round: 'floor'
|
|
215
|
-
}).
|
|
217
|
+
})).to.deep.equal(['Apr 10',
|
|
216
218
|
// Updates after April 9th, 2018, 12:00.
|
|
217
219
|
new Date(2018, 3, 9, 12, 0).getTime() + 1 - now]);
|
|
218
220
|
|
|
219
221
|
// After April 9th, 2018, 12:00.
|
|
220
222
|
now = new Date(2018, 3, 9, 12, 0).getTime() + 1;
|
|
221
|
-
timeAgo.format(date, 'twitter', {
|
|
223
|
+
expect(timeAgo.format(date, 'twitter', {
|
|
222
224
|
now: now,
|
|
223
225
|
getTimeToNextUpdate: true,
|
|
224
226
|
round: 'floor'
|
|
225
|
-
}).
|
|
227
|
+
})).to.deep.equal(['23h',
|
|
226
228
|
// Updates in an hour.
|
|
227
229
|
60 * 60 * 1000]);
|
|
228
230
|
});
|
|
@@ -235,20 +237,20 @@ describe('style/twitter', function () {
|
|
|
235
237
|
|
|
236
238
|
// 1st, 2018, 00:00.
|
|
237
239
|
now = new Date(2018, 0, 1).getTime();
|
|
238
|
-
timeAgo.format(date, 'twitter', {
|
|
240
|
+
expect(timeAgo.format(date, 'twitter', {
|
|
239
241
|
now: now,
|
|
240
242
|
getTimeToNextUpdate: true,
|
|
241
243
|
getTimeToNextUpdateUncapped: true
|
|
242
|
-
}).
|
|
244
|
+
})).to.deep.equal(['Apr 10',
|
|
243
245
|
// Updates after April 9th, 2018, 11:30.
|
|
244
246
|
new Date(2018, 3, 9, 12, 0).getTime() + 30 * 60 * 1000 + 1 - now]);
|
|
245
247
|
|
|
246
248
|
// After April 9th, 2018, 12:00.
|
|
247
249
|
now = new Date(2018, 3, 9, 12, 0).getTime() + 30 * 60 * 1000 + 1;
|
|
248
|
-
timeAgo.format(date, 'twitter', {
|
|
250
|
+
expect(timeAgo.format(date, 'twitter', {
|
|
249
251
|
now: now,
|
|
250
252
|
getTimeToNextUpdate: true
|
|
251
|
-
}).
|
|
253
|
+
})).to.deep.equal(['23h',
|
|
252
254
|
// Updates in an hour.
|
|
253
255
|
60 * 60 * 1000]);
|
|
254
256
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twitter.test.js","names":["twitter","TimeAgo","hour","minute","day","month","year","describe","it","timeAgo","format","Date","now","should","include","formatDatePastBy","secondsPassed","_objectSpread","equal","round","getTime","test","time","result","date","getTimeToNextUpdate","getTimeToNextUpdateUncapped","deep"],"sources":["../../source/style/twitter.test.js"],"sourcesContent":["import twitter from './twitter.js'\r\nimport TimeAgo from '../TimeAgo.js'\r\nimport { hour, minute, day, month, year } from '../steps/index.js'\r\n\r\ndescribe('style/twitter', () => {\r\n\tit('should fallback from \"mini\" to \"narrow\"', () => {\r\n\t\tconst timeAgo = new TimeAgo('ccp')\r\n\t\ttimeAgo.format(Date.now() - 3 * hour * 1000, 'twitter').should.include(' 𑄊𑄮𑄚𑄴𑄓 𑄃𑄉𑄬')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (English) (round: \"round\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(-secondsPassed * 1000, { now: 0, ...twitter })\r\n\r\n\t\tformatDatePastBy(0.49).should.equal('0s')\r\n\t\tformatDatePastBy(0.5).should.equal('1s')\r\n\t\tformatDatePastBy(59.49).should.equal('59s')\r\n\t\tformatDatePastBy(59.5).should.equal('1m')\r\n\t\tformatDatePastBy(1.49 * minute).should.equal('1m')\r\n\t\tformatDatePastBy(1.5 * minute).should.equal('2m')\r\n\t\t// …\r\n\t\tformatDatePastBy(59.49 * minute).should.equal('59m')\r\n\t\tformatDatePastBy(59.5 * minute).should.equal('1h')\r\n\t\tformatDatePastBy(1.49 * hour).should.equal('1h')\r\n\t\tformatDatePastBy(1.5 * hour).should.equal('2h')\r\n\t\t// …\r\n\t\tformatDatePastBy(23.49 * hour).should.equal('23h')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (English) (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(-secondsPassed * 1000, { now: 0, ...twitter, round: 'floor' })\r\n\r\n\t\tformatDatePastBy(0).should.equal('0s')\r\n\t\tformatDatePastBy(0.9).should.equal('0s')\r\n\t\tformatDatePastBy(1).should.equal('1s')\r\n\t\tformatDatePastBy(59.9).should.equal('59s')\r\n\t\tformatDatePastBy(60).should.equal('1m')\r\n\t\tformatDatePastBy(1.9 * minute).should.equal('1m')\r\n\t\tformatDatePastBy(2 * minute).should.equal('2m')\r\n\t\tformatDatePastBy(2.9 * minute).should.equal('2m')\r\n\t\tformatDatePastBy(3 * minute).should.equal('3m')\r\n\t\t// …\r\n\t\tformatDatePastBy(59.9 * minute).should.equal('59m')\r\n\t\tformatDatePastBy(60 * minute).should.equal('1h')\r\n\t\tformatDatePastBy(1.9 * hour).should.equal('1h')\r\n\t\tformatDatePastBy(2 * hour).should.equal('2h')\r\n\t\tformatDatePastBy(2.9 * hour).should.equal('2h')\r\n\t\tformatDatePastBy(3 * hour).should.equal('3h')\r\n\t\t// …\r\n\t\tformatDatePastBy(23.9 * hour).should.equal('23h')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (English) (absolute dates)', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\t// April 10th, 2016, 12:00.\r\n\t\tconst now = new Date(2016, 3, 10, 12, 0).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(day + 2 * minute + hour).should.equal('Apr 9')\r\n\t\t// …\r\n\t\t// `month` is about 30.5 days.\r\n\t\tformatDatePastBy(month * 3).should.equal('Jan 10')\r\n\t\tformatDatePastBy(month * 4).should.equal('Dec 10, 2015')\r\n\t\tformatDatePastBy(year).should.equal('Apr 11, 2015')\r\n\r\n\t\t// Test future dates.\r\n\t\t// `month` is about 30.5 days.\r\n\t\tformatDatePastBy(-1 * month * 8).should.equal('Dec 10')\r\n\t\tformatDatePastBy(-1 * month * 9).should.equal('Jan 9, 2017')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (Russian)', () => {\r\n\t\tconst timeAgo = new TimeAgo('ru')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(0).should.equal('0 с')\r\n\t\tformatDatePastBy(1).should.equal('1 с')\r\n\t\tformatDatePastBy(minute).should.equal('1 мин')\r\n\t\tformatDatePastBy(hour).should.equal('1 ч')\r\n\t\tformatDatePastBy(day + 62 * minute).should.equal('9 апр.')\r\n\t\tformatDatePastBy(year).should.equal('11 апр. 2015 г.')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (Korean)', () => {\r\n\t\tconst timeAgo = new TimeAgo('ko')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(minute).should.equal('1분')\r\n\t\tformatDatePastBy(hour).should.equal('1시간')\r\n\t\tformatDatePastBy(day + 62 * minute).should.equal('4월 9일')\r\n\t\tformatDatePastBy(year).should.equal('2015년 4월 11일')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (German)', () => {\r\n\t\tconst timeAgo = new TimeAgo('de')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(minute).should.equal('1 Min.')\r\n\t\tformatDatePastBy(hour).should.equal('1 Std.')\r\n\t\tformatDatePastBy(day + 62 * minute).should.equal('9. Apr.')\r\n\t\tformatDatePastBy(year).should.equal('11. Apr. 2015')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (French)', () => {\r\n\t\tconst timeAgo = new TimeAgo('fr')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(minute).should.equal('1 min.')\r\n\t\tformatDatePastBy(hour).should.equal('1 h')\r\n\t\tformatDatePastBy(day + 62 * minute).should.equal('9 avr.')\r\n\t\tformatDatePastBy(year).should.equal('11 avr. 2015')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (Chinese)', () => {\r\n\t\tconst timeAgo = new TimeAgo('zh')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\tformatDatePastBy(minute).should.equal('1分钟')\r\n\t\tformatDatePastBy(hour).should.equal('1小时')\r\n\t\tformatDatePastBy(day + 62 * minute).should.equal('4月9日')\r\n\t\tformatDatePastBy(year).should.equal('2015年4月11日')\r\n\t})\r\n\r\n\t// This test won't pass because `Intl.DateTimeFormat` is read at\r\n\t// initialization time, not at run time.\r\n\t// it('should fall back to generic style when Intl.DateTimeFormat is not available', () => {\r\n\t// \tconst DateTimeFormat = Intl.DateTimeFormat\r\n\t// \tIntl.DateTimeFormat = undefined\r\n\t//\r\n\t// \tconst timeAgo = new TimeAgo('en')\r\n\t// \ttimeAgo.format(Date.now() - 365 * 24 * hour * 1000, 'twitter').should.equal('1yr')\r\n\t//\r\n\t// \tIntl.DateTimeFormat = DateTimeFormat\r\n\t// })\r\n\r\n\tit('should support timestamp argument on `yearMonthAndDay.test()`', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(0, 'twitter').should.equal('Jan 1, 1970')\r\n\t})\r\n\r\n\tit('should round as \"floor\"', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst test = (time, result) => timeAgo.format(time, 'twitter', {\r\n\t\t\tround: 'floor',\r\n\t\t\tnow: 0\r\n\t\t}).should.equal(result)\r\n\t\ttest(2001, '2s')\r\n\t\ttest(2000, '2s')\r\n\t\ttest(1999, '1s')\r\n\t\ttest(1001, '1s')\r\n\t\ttest(1000, '1s')\r\n\t\ttest(999, '0s')\r\n\t\ttest(0, '0s')\r\n\t\ttest(-999, '0s')\r\n\t\ttest(-1000, '1s')\r\n\t\ttest(-1001, '1s')\r\n\t\ttest(-1999, '1s')\r\n\t\ttest(-2000, '2s')\r\n\t\ttest(-2001, '2s')\r\n\t})\r\n\r\n\tit('should get time to next update (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\t// April 10th, 2018, 12:00.\r\n\t\tconst date = new Date(2018, 3, 10, 12, 0)\r\n\r\n\t\t// April 10th, 2016, 12:00 (two years earlier).\r\n\t\tlet now = new Date(2016, 3, 10, 12, 0).getTime()\r\n\r\n\t\ttimeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\t\tgetTimeToNextUpdateUncapped: true\r\n\t\t\t}\r\n\t\t).should.deep.equal([\r\n\t\t\t'Apr 10, 2018',\r\n\t\t\t// Updates on Jan 1st, 2018, 00:00.\r\n\t\t\tnew Date(2018, 0, 1).getTime() - now\r\n\t\t])\r\n\r\n\t\t// 1st, 2018, 00:00.\r\n\t\tnow = new Date(2018, 0, 1).getTime()\r\n\r\n\t\ttimeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\t\tgetTimeToNextUpdateUncapped: true,\r\n\t\t\t\tround: 'floor'\r\n\t\t\t}\r\n\t\t).should.deep.equal([\r\n\t\t\t'Apr 10',\r\n\t\t\t// Updates after April 9th, 2018, 12:00.\r\n\t\t\t(new Date(2018, 3, 9, 12, 0).getTime() + 1) - now\r\n\t\t])\r\n\r\n\t\t// After April 9th, 2018, 12:00.\r\n\t\tnow = new Date(2018, 3, 9, 12, 0).getTime() + 1\r\n\r\n\t\ttimeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\t\tround: 'floor'\r\n\t\t\t}\r\n\t\t).should.deep.equal([\r\n\t\t\t'23h',\r\n\t\t\t// Updates in an hour.\r\n\t\t\t60 * 60 * 1000\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (round: \"round\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\t// April 10th, 2018, 12:00.\r\n\t\tconst date = new Date(2018, 3, 10, 12, 0)\r\n\r\n\t\tlet now\r\n\r\n\t\t// 1st, 2018, 00:00.\r\n\t\tnow = new Date(2018, 0, 1).getTime()\r\n\r\n\t\ttimeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\t\tgetTimeToNextUpdateUncapped: true\r\n\t\t\t}\r\n\t\t).should.deep.equal([\r\n\t\t\t'Apr 10',\r\n\t\t\t// Updates after April 9th, 2018, 11:30.\r\n\t\t\t(new Date(2018, 3, 9, 12, 0).getTime() + 30 * 60 * 1000 + 1) - now\r\n\t\t])\r\n\r\n\t\t// After April 9th, 2018, 12:00.\r\n\t\tnow = new Date(2018, 3, 9, 12, 0).getTime() + 30 * 60 * 1000 + 1\r\n\r\n\t\ttimeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true\r\n\t\t\t}\r\n\t\t).should.deep.equal([\r\n\t\t\t'23h',\r\n\t\t\t// Updates in an hour.\r\n\t\t\t60 * 60 * 1000\r\n\t\t])\r\n\t})\r\n})"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"twitter.test.js","names":["describe","it","expect","twitter","TimeAgo","hour","minute","day","month","year","timeAgo","format","Date","now","to","include","formatDatePastBy","secondsPassed","_objectSpread","equal","round","getTime","test","time","result","date","getTimeToNextUpdate","getTimeToNextUpdateUncapped","deep"],"sources":["../../source/style/twitter.test.js"],"sourcesContent":["import { describe, it } from 'mocha'\r\nimport { expect } from 'chai'\r\n\r\nimport twitter from './twitter.js'\r\nimport TimeAgo from '../TimeAgo.js'\r\nimport { hour, minute, day, month, year } from '../steps/index.js'\r\n\r\ndescribe('style/twitter', () => {\r\n\tit('should fallback from \"mini\" to \"narrow\"', () => {\r\n\t\tconst timeAgo = new TimeAgo('ccp')\r\n\t\texpect(timeAgo.format(Date.now() - 3 * hour * 1000, 'twitter')).to.include(' 𑄊𑄮𑄚𑄴𑄓 𑄃𑄉𑄬')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (English) (round: \"round\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(-secondsPassed * 1000, { now: 0, ...twitter })\r\n\r\n\t\texpect(formatDatePastBy(0.49)).to.equal('0s')\r\n\t\texpect(formatDatePastBy(0.5)).to.equal('1s')\r\n\t\texpect(formatDatePastBy(59.49)).to.equal('59s')\r\n\t\texpect(formatDatePastBy(59.5)).to.equal('1m')\r\n\t\texpect(formatDatePastBy(1.49 * minute)).to.equal('1m')\r\n\t\texpect(formatDatePastBy(1.5 * minute)).to.equal('2m')\r\n\t\t// …\r\n\t\texpect(formatDatePastBy(59.49 * minute)).to.equal('59m')\r\n\t\texpect(formatDatePastBy(59.5 * minute)).to.equal('1h')\r\n\t\texpect(formatDatePastBy(1.49 * hour)).to.equal('1h')\r\n\t\texpect(formatDatePastBy(1.5 * hour)).to.equal('2h')\r\n\t\t// …\r\n\t\texpect(formatDatePastBy(23.49 * hour)).to.equal('23h')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (English) (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(-secondsPassed * 1000, { now: 0, ...twitter, round: 'floor' })\r\n\r\n\t\texpect(formatDatePastBy(0)).to.equal('0s')\r\n\t\texpect(formatDatePastBy(0.9)).to.equal('0s')\r\n\t\texpect(formatDatePastBy(1)).to.equal('1s')\r\n\t\texpect(formatDatePastBy(59.9)).to.equal('59s')\r\n\t\texpect(formatDatePastBy(60)).to.equal('1m')\r\n\t\texpect(formatDatePastBy(1.9 * minute)).to.equal('1m')\r\n\t\texpect(formatDatePastBy(2 * minute)).to.equal('2m')\r\n\t\texpect(formatDatePastBy(2.9 * minute)).to.equal('2m')\r\n\t\texpect(formatDatePastBy(3 * minute)).to.equal('3m')\r\n\t\t// …\r\n\t\texpect(formatDatePastBy(59.9 * minute)).to.equal('59m')\r\n\t\texpect(formatDatePastBy(60 * minute)).to.equal('1h')\r\n\t\texpect(formatDatePastBy(1.9 * hour)).to.equal('1h')\r\n\t\texpect(formatDatePastBy(2 * hour)).to.equal('2h')\r\n\t\texpect(formatDatePastBy(2.9 * hour)).to.equal('2h')\r\n\t\texpect(formatDatePastBy(3 * hour)).to.equal('3h')\r\n\t\t// …\r\n\t\texpect(formatDatePastBy(23.9 * hour)).to.equal('23h')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (English) (absolute dates)', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\t// April 10th, 2016, 12:00.\r\n\t\tconst now = new Date(2016, 3, 10, 12, 0).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\texpect(formatDatePastBy(day + 2 * minute + hour)).to.equal('Apr 9')\r\n\t\t// …\r\n\t\t// `month` is about 30.5 days.\r\n\t\texpect(formatDatePastBy(month * 3)).to.equal('Jan 10')\r\n\t\texpect(formatDatePastBy(month * 4)).to.equal('Dec 10, 2015')\r\n\t\texpect(formatDatePastBy(year)).to.equal('Apr 11, 2015')\r\n\r\n\t\t// Test future dates.\r\n\t\t// `month` is about 30.5 days.\r\n\t\texpect(formatDatePastBy(-1 * month * 8)).to.equal('Dec 10')\r\n\t\texpect(formatDatePastBy(-1 * month * 9)).to.equal('Jan 9, 2017')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (Russian)', () => {\r\n\t\tconst timeAgo = new TimeAgo('ru')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\texpect(formatDatePastBy(0)).to.equal('0 с')\r\n\t\texpect(formatDatePastBy(1)).to.equal('1 с')\r\n\t\texpect(formatDatePastBy(minute)).to.equal('1 мин')\r\n\t\texpect(formatDatePastBy(hour)).to.equal('1 ч')\r\n\t\texpect(formatDatePastBy(day + 62 * minute)).to.equal('9 апр.')\r\n\t\texpect(formatDatePastBy(year)).to.equal('11 апр. 2015 г.')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (Korean)', () => {\r\n\t\tconst timeAgo = new TimeAgo('ko')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\texpect(formatDatePastBy(minute)).to.equal('1분')\r\n\t\texpect(formatDatePastBy(hour)).to.equal('1시간')\r\n\t\texpect(formatDatePastBy(day + 62 * minute)).to.equal('4월 9일')\r\n\t\texpect(formatDatePastBy(year)).to.equal('2015년 4월 11일')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (German)', () => {\r\n\t\tconst timeAgo = new TimeAgo('de')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\texpect(formatDatePastBy(minute)).to.equal('1 Min.')\r\n\t\texpect(formatDatePastBy(hour)).to.equal('1 Std.')\r\n\t\texpect(formatDatePastBy(day + 62 * minute)).to.equal('9. Apr.')\r\n\t\texpect(formatDatePastBy(year)).to.equal('11. Apr. 2015')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (French)', () => {\r\n\t\tconst timeAgo = new TimeAgo('fr')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\texpect(formatDatePastBy(minute)).to.equal('1 min.')\r\n\t\texpect(formatDatePastBy(hour)).to.equal('1 h')\r\n\t\texpect(formatDatePastBy(day + 62 * minute)).to.equal('9 avr.')\r\n\t\texpect(formatDatePastBy(year)).to.equal('11 avr. 2015')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (Chinese)', () => {\r\n\t\tconst timeAgo = new TimeAgo('zh')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatDatePastBy = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter })\r\n\r\n\t\texpect(formatDatePastBy(minute)).to.equal('1分钟')\r\n\t\texpect(formatDatePastBy(hour)).to.equal('1小时')\r\n\t\texpect(formatDatePastBy(day + 62 * minute)).to.equal('4月9日')\r\n\t\texpect(formatDatePastBy(year)).to.equal('2015年4月11日')\r\n\t})\r\n\r\n\t// This test won't pass because `Intl.DateTimeFormat` is read at\r\n\t// initialization time, not at run time.\r\n\t// it('should fall back to generic style when Intl.DateTimeFormat is not available', () => {\r\n\t// \tconst DateTimeFormat = Intl.DateTimeFormat\r\n\t// \tIntl.DateTimeFormat = undefined\r\n\t//\r\n\t// \tconst timeAgo = new TimeAgo('en')\r\n\t// \texpect(timeAgo.format(Date.now() - 365 * 24 * hour * 1000, 'twitter')).to.equal('1yr')\r\n\t//\r\n\t// \tIntl.DateTimeFormat = DateTimeFormat\r\n\t// })\r\n\r\n\tit('should support timestamp argument on `yearMonthAndDay.test()`', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(0, 'twitter')).to.equal('Jan 1, 1970')\r\n\t})\r\n\r\n\tit('should round as \"floor\"', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst test = (time, result) => {\r\n\t\t\texpect(timeAgo.format(time, 'twitter', {\r\n\t\t\t\tround: 'floor',\r\n\t\t\t\tnow: 0\r\n\t\t\t})).to.equal(result)\r\n\t\t}\r\n\t\ttest(2001, '2s')\r\n\t\ttest(2000, '2s')\r\n\t\ttest(1999, '1s')\r\n\t\ttest(1001, '1s')\r\n\t\ttest(1000, '1s')\r\n\t\ttest(999, '0s')\r\n\t\ttest(0, '0s')\r\n\t\ttest(-999, '0s')\r\n\t\ttest(-1000, '1s')\r\n\t\ttest(-1001, '1s')\r\n\t\ttest(-1999, '1s')\r\n\t\ttest(-2000, '2s')\r\n\t\ttest(-2001, '2s')\r\n\t})\r\n\r\n\tit('should get time to next update (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\t// April 10th, 2018, 12:00.\r\n\t\tconst date = new Date(2018, 3, 10, 12, 0)\r\n\r\n\t\t// April 10th, 2016, 12:00 (two years earlier).\r\n\t\tlet now = new Date(2016, 3, 10, 12, 0).getTime()\r\n\r\n\t\texpect(timeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\t\tgetTimeToNextUpdateUncapped: true\r\n\t\t\t}\r\n\t\t)).to.deep.equal([\r\n\t\t\t'Apr 10, 2018',\r\n\t\t\t// Updates on Jan 1st, 2018, 00:00.\r\n\t\t\tnew Date(2018, 0, 1).getTime() - now\r\n\t\t])\r\n\r\n\t\t// 1st, 2018, 00:00.\r\n\t\tnow = new Date(2018, 0, 1).getTime()\r\n\r\n\t\texpect(timeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\t\tgetTimeToNextUpdateUncapped: true,\r\n\t\t\t\tround: 'floor'\r\n\t\t\t}\r\n\t\t)).to.deep.equal([\r\n\t\t\t'Apr 10',\r\n\t\t\t// Updates after April 9th, 2018, 12:00.\r\n\t\t\t(new Date(2018, 3, 9, 12, 0).getTime() + 1) - now\r\n\t\t])\r\n\r\n\t\t// After April 9th, 2018, 12:00.\r\n\t\tnow = new Date(2018, 3, 9, 12, 0).getTime() + 1\r\n\r\n\t\texpect(timeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\t\tround: 'floor'\r\n\t\t\t}\r\n\t\t)).to.deep.equal([\r\n\t\t\t'23h',\r\n\t\t\t// Updates in an hour.\r\n\t\t\t60 * 60 * 1000\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (round: \"round\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\t// April 10th, 2018, 12:00.\r\n\t\tconst date = new Date(2018, 3, 10, 12, 0)\r\n\r\n\t\tlet now\r\n\r\n\t\t// 1st, 2018, 00:00.\r\n\t\tnow = new Date(2018, 0, 1).getTime()\r\n\r\n\t\texpect(timeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\t\tgetTimeToNextUpdateUncapped: true\r\n\t\t\t}\r\n\t\t)).to.deep.equal([\r\n\t\t\t'Apr 10',\r\n\t\t\t// Updates after April 9th, 2018, 11:30.\r\n\t\t\t(new Date(2018, 3, 9, 12, 0).getTime() + 30 * 60 * 1000 + 1) - now\r\n\t\t])\r\n\r\n\t\t// After April 9th, 2018, 12:00.\r\n\t\tnow = new Date(2018, 3, 9, 12, 0).getTime() + 30 * 60 * 1000 + 1\r\n\r\n\t\texpect(timeAgo.format(\r\n\t\t\tdate,\r\n\t\t\t'twitter',\r\n\t\t\t{\r\n\t\t\t\tnow,\r\n\t\t\t\tgetTimeToNextUpdate: true\r\n\t\t\t}\r\n\t\t)).to.deep.equal([\r\n\t\t\t'23h',\r\n\t\t\t// Updates in an hour.\r\n\t\t\t60 * 60 * 1000\r\n\t\t])\r\n\t})\r\n})"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,13 +4,15 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
4
4
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
6
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
import { describe, it } from 'mocha';
|
|
8
|
+
import { expect } from 'chai';
|
|
7
9
|
import twitter from './twitterFirstMinute.js';
|
|
8
10
|
import TimeAgo from '../TimeAgo.js';
|
|
9
11
|
import { hour, minute, day, month, year } from '../steps/index.js';
|
|
10
12
|
describe('style/twitterFirstMinute', function () {
|
|
11
13
|
it('should work with string name of the style', function () {
|
|
12
14
|
var timeAgo = new TimeAgo('en');
|
|
13
|
-
timeAgo.format(Date.now() - 3 * 60 * 60 * 1000, 'twitter-first-minute').
|
|
15
|
+
expect(timeAgo.format(Date.now() - 3 * 60 * 60 * 1000, 'twitter-first-minute')).to.equal('3h');
|
|
14
16
|
});
|
|
15
17
|
it('should format Twitter style relative time (English) (round: "floor")', function () {
|
|
16
18
|
var timeAgo = new TimeAgo('en');
|
|
@@ -22,34 +24,34 @@ describe('style/twitterFirstMinute', function () {
|
|
|
22
24
|
round: 'floor'
|
|
23
25
|
}));
|
|
24
26
|
};
|
|
25
|
-
formatInterval(0).
|
|
26
|
-
formatInterval(0.9).
|
|
27
|
-
formatInterval(59.9).
|
|
28
|
-
formatInterval(60).
|
|
29
|
-
formatInterval(1.9 * minute).
|
|
30
|
-
formatInterval(2 * minute).
|
|
31
|
-
formatInterval(2.9 * minute).
|
|
32
|
-
formatInterval(3 * minute).
|
|
27
|
+
expect(formatInterval(0)).to.equal('');
|
|
28
|
+
expect(formatInterval(0.9)).to.equal('');
|
|
29
|
+
expect(formatInterval(59.9)).to.equal('');
|
|
30
|
+
expect(formatInterval(60)).to.equal('1m');
|
|
31
|
+
expect(formatInterval(1.9 * minute)).to.equal('1m');
|
|
32
|
+
expect(formatInterval(2 * minute)).to.equal('2m');
|
|
33
|
+
expect(formatInterval(2.9 * minute)).to.equal('2m');
|
|
34
|
+
expect(formatInterval(3 * minute)).to.equal('3m');
|
|
33
35
|
// …
|
|
34
|
-
formatInterval(59.9 * minute).
|
|
35
|
-
formatInterval(60 * minute).
|
|
36
|
-
formatInterval(1.9 * hour).
|
|
37
|
-
formatInterval(2 * hour).
|
|
38
|
-
formatInterval(2.9 * hour).
|
|
39
|
-
formatInterval(3 * hour).
|
|
36
|
+
expect(formatInterval(59.9 * minute)).to.equal('59m');
|
|
37
|
+
expect(formatInterval(60 * minute)).to.equal('1h');
|
|
38
|
+
expect(formatInterval(1.9 * hour)).to.equal('1h');
|
|
39
|
+
expect(formatInterval(2 * hour)).to.equal('2h');
|
|
40
|
+
expect(formatInterval(2.9 * hour)).to.equal('2h');
|
|
41
|
+
expect(formatInterval(3 * hour)).to.equal('3h');
|
|
40
42
|
// …
|
|
41
|
-
formatInterval(23.9 * hour).
|
|
42
|
-
formatInterval(day + 2 * minute + hour).
|
|
43
|
+
expect(formatInterval(23.9 * hour)).to.equal('23h');
|
|
44
|
+
expect(formatInterval(day + 2 * minute + hour)).to.equal('Apr 9');
|
|
43
45
|
// …
|
|
44
46
|
// `month` is about 30.5 days.
|
|
45
|
-
formatInterval(month * 3).
|
|
46
|
-
formatInterval(month * 4).
|
|
47
|
-
formatInterval(year).
|
|
47
|
+
expect(formatInterval(month * 3)).to.equal('Jan 10');
|
|
48
|
+
expect(formatInterval(month * 4)).to.equal('Dec 11, 2015');
|
|
49
|
+
expect(formatInterval(year)).to.equal('Apr 11, 2015');
|
|
48
50
|
|
|
49
51
|
// Test future dates.
|
|
50
52
|
// `month` is about 30.5 days.
|
|
51
|
-
formatInterval(-1 * month * 8).
|
|
52
|
-
formatInterval(-1 * month * 9).
|
|
53
|
+
expect(formatInterval(-1 * month * 8)).to.equal('Dec 10');
|
|
54
|
+
expect(formatInterval(-1 * month * 9)).to.equal('Jan 9, 2017');
|
|
53
55
|
});
|
|
54
56
|
it('should format Twitter style relative time (English) (round: "round")', function () {
|
|
55
57
|
var timeAgo = new TimeAgo('en');
|
|
@@ -61,11 +63,11 @@ describe('style/twitterFirstMinute', function () {
|
|
|
61
63
|
round: 'round'
|
|
62
64
|
}));
|
|
63
65
|
};
|
|
64
|
-
formatInterval(0).
|
|
65
|
-
formatInterval(59.9).
|
|
66
|
-
formatInterval(60).
|
|
67
|
-
formatInterval(1.49 * minute).
|
|
68
|
-
formatInterval(1.5 * minute).
|
|
66
|
+
expect(formatInterval(0)).to.equal('');
|
|
67
|
+
expect(formatInterval(59.9)).to.equal('');
|
|
68
|
+
expect(formatInterval(60)).to.equal('1m');
|
|
69
|
+
expect(formatInterval(1.49 * minute)).to.equal('1m');
|
|
70
|
+
expect(formatInterval(1.5 * minute)).to.equal('2m');
|
|
69
71
|
});
|
|
70
72
|
});
|
|
71
73
|
//# sourceMappingURL=twitterFirstMinute.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twitterFirstMinute.test.js","names":["twitter","TimeAgo","hour","minute","day","month","year","
|
|
1
|
+
{"version":3,"file":"twitterFirstMinute.test.js","names":["describe","it","expect","twitter","TimeAgo","hour","minute","day","month","year","timeAgo","format","Date","now","to","equal","getTime","formatInterval","secondsPassed","_objectSpread","round"],"sources":["../../source/style/twitterFirstMinute.test.js"],"sourcesContent":["import { describe, it } from 'mocha'\r\nimport { expect } from 'chai'\r\n\r\nimport twitter from './twitterFirstMinute.js'\r\nimport TimeAgo from '../TimeAgo.js'\r\nimport { hour, minute, day, month, year } from '../steps/index.js'\r\n\r\ndescribe('style/twitterFirstMinute', () => {\r\n\tit('should work with string name of the style', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now() - 3 * 60 * 60 * 1000, 'twitter-first-minute')).to.equal('3h')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (English) (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatInterval = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter, round: 'floor' })\r\n\r\n\t\texpect(formatInterval(0)).to.equal('')\r\n\t\texpect(formatInterval(0.9)).to.equal('')\r\n\t\texpect(formatInterval(59.9)).to.equal('')\r\n\t\texpect(formatInterval(60)).to.equal('1m')\r\n\t\texpect(formatInterval(1.9 * minute)).to.equal('1m')\r\n\t\texpect(formatInterval(2 * minute)).to.equal('2m')\r\n\t\texpect(formatInterval(2.9 * minute)).to.equal('2m')\r\n\t\texpect(formatInterval(3 * minute)).to.equal('3m')\r\n\t\t// …\r\n\t\texpect(formatInterval(59.9 * minute)).to.equal('59m')\r\n\t\texpect(formatInterval(60 * minute)).to.equal('1h')\r\n\t\texpect(formatInterval(1.9 * hour)).to.equal('1h')\r\n\t\texpect(formatInterval(2 * hour)).to.equal('2h')\r\n\t\texpect(formatInterval(2.9 * hour)).to.equal('2h')\r\n\t\texpect(formatInterval(3 * hour)).to.equal('3h')\r\n\t\t// …\r\n\t\texpect(formatInterval(23.9 * hour)).to.equal('23h')\r\n\t\texpect(formatInterval(day + 2 * minute + hour)).to.equal('Apr 9')\r\n\t\t// …\r\n\t\t// `month` is about 30.5 days.\r\n\t\texpect(formatInterval(month * 3)).to.equal('Jan 10')\r\n\t\texpect(formatInterval(month * 4)).to.equal('Dec 11, 2015')\r\n\t\texpect(formatInterval(year)).to.equal('Apr 11, 2015')\r\n\r\n\t\t// Test future dates.\r\n\t\t// `month` is about 30.5 days.\r\n\t\texpect(formatInterval(-1 * month * 8)).to.equal('Dec 10')\r\n\t\texpect(formatInterval(-1 * month * 9)).to.equal('Jan 9, 2017')\r\n\t})\r\n\r\n\tit('should format Twitter style relative time (English) (round: \"round\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\tconst now = new Date(2016, 3, 10, 22, 59).getTime()\r\n\t\tconst formatInterval = (secondsPassed) => timeAgo.format(now - secondsPassed * 1000, { now, ...twitter, round: 'round' })\r\n\r\n\t\texpect(formatInterval(0)).to.equal('')\r\n\t\texpect(formatInterval(59.9)).to.equal('')\r\n\t\texpect(formatInterval(60)).to.equal('1m')\r\n\t\texpect(formatInterval(1.49 * minute)).to.equal('1m')\r\n\t\texpect(formatInterval(1.5 * minute)).to.equal('2m')\r\n\t})\r\n})"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
4
4
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
6
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
import { describe, it } from 'mocha';
|
|
8
|
+
import { expect } from 'chai';
|
|
7
9
|
import twitter from './twitterMinute.js';
|
|
8
10
|
import TimeAgo from '../TimeAgo.js';
|
|
9
11
|
import { hour, minute, day, month, year } from '../steps/index.js';
|
|
@@ -20,33 +22,33 @@ describe('style/twitterMinute', function () {
|
|
|
20
22
|
round: 'floor'
|
|
21
23
|
}));
|
|
22
24
|
};
|
|
23
|
-
formatInterval(0).
|
|
24
|
-
formatInterval(59.9).
|
|
25
|
-
formatInterval(60).
|
|
26
|
-
formatInterval(1.9 * minute).
|
|
27
|
-
formatInterval(2 * minute).
|
|
28
|
-
formatInterval(2.9 * minute).
|
|
29
|
-
formatInterval(3 * minute).
|
|
25
|
+
expect(formatInterval(0)).to.equal('0m');
|
|
26
|
+
expect(formatInterval(59.9)).to.equal('0m');
|
|
27
|
+
expect(formatInterval(60)).to.equal('1m');
|
|
28
|
+
expect(formatInterval(1.9 * minute)).to.equal('1m');
|
|
29
|
+
expect(formatInterval(2 * minute)).to.equal('2m');
|
|
30
|
+
expect(formatInterval(2.9 * minute)).to.equal('2m');
|
|
31
|
+
expect(formatInterval(3 * minute)).to.equal('3m');
|
|
30
32
|
// …
|
|
31
|
-
formatInterval(59.9 * minute).
|
|
32
|
-
formatInterval(60 * minute).
|
|
33
|
-
formatInterval(1.9 * hour).
|
|
34
|
-
formatInterval(2 * hour).
|
|
35
|
-
formatInterval(2.9 * hour).
|
|
36
|
-
formatInterval(3 * hour).
|
|
33
|
+
expect(formatInterval(59.9 * minute)).to.equal('59m');
|
|
34
|
+
expect(formatInterval(60 * minute)).to.equal('1h');
|
|
35
|
+
expect(formatInterval(1.9 * hour)).to.equal('1h');
|
|
36
|
+
expect(formatInterval(2 * hour)).to.equal('2h');
|
|
37
|
+
expect(formatInterval(2.9 * hour)).to.equal('2h');
|
|
38
|
+
expect(formatInterval(3 * hour)).to.equal('3h');
|
|
37
39
|
// …
|
|
38
|
-
formatInterval(23.9 * hour).
|
|
39
|
-
formatInterval(day + 2 * minute + hour).
|
|
40
|
+
expect(formatInterval(23.9 * hour)).to.equal('23h');
|
|
41
|
+
expect(formatInterval(day + 2 * minute + hour)).to.equal('Apr 9');
|
|
40
42
|
// …
|
|
41
43
|
// `month` is about 30.5 days.
|
|
42
|
-
formatInterval(month * 3).
|
|
43
|
-
formatInterval(month * 4).
|
|
44
|
-
formatInterval(year).
|
|
44
|
+
expect(formatInterval(month * 3)).to.equal('Jan 10');
|
|
45
|
+
expect(formatInterval(month * 4)).to.equal('Dec 11, 2015');
|
|
46
|
+
expect(formatInterval(year)).to.equal('Apr 11, 2015');
|
|
45
47
|
|
|
46
48
|
// Test future dates.
|
|
47
49
|
// `month` is about 30.5 days.
|
|
48
|
-
formatInterval(-1 * month * 8).
|
|
49
|
-
formatInterval(-1 * month * 9).
|
|
50
|
+
expect(formatInterval(-1 * month * 8)).to.equal('Dec 10');
|
|
51
|
+
expect(formatInterval(-1 * month * 9)).to.equal('Jan 9, 2017');
|
|
50
52
|
});
|
|
51
53
|
it('should format Twitter style relative time (English) (round: "round")', function () {
|
|
52
54
|
var timeAgo = new TimeAgo('en');
|
|
@@ -60,13 +62,13 @@ describe('style/twitterMinute', function () {
|
|
|
60
62
|
round: 'round'
|
|
61
63
|
}));
|
|
62
64
|
};
|
|
63
|
-
formatInterval(0).
|
|
64
|
-
formatInterval(29.9).
|
|
65
|
-
formatInterval(30).
|
|
66
|
-
formatInterval(1.49 * minute).
|
|
67
|
-
formatInterval(1.5 * minute).
|
|
68
|
-
formatInterval(2.49 * minute).
|
|
69
|
-
formatInterval(2.5 * minute).
|
|
65
|
+
expect(formatInterval(0)).to.equal('0m');
|
|
66
|
+
expect(formatInterval(29.9)).to.equal('0m');
|
|
67
|
+
expect(formatInterval(30)).to.equal('1m');
|
|
68
|
+
expect(formatInterval(1.49 * minute)).to.equal('1m');
|
|
69
|
+
expect(formatInterval(1.5 * minute)).to.equal('2m');
|
|
70
|
+
expect(formatInterval(2.49 * minute)).to.equal('2m');
|
|
71
|
+
expect(formatInterval(2.5 * minute)).to.equal('3m');
|
|
70
72
|
});
|
|
71
73
|
});
|
|
72
74
|
//# sourceMappingURL=twitterMinute.test.js.map
|