local_time 2.1.0 → 3.0.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.
- checksums.yaml +4 -4
- data/MIT-LICENSE +1 -1
- data/README.md +50 -10
- data/app/assets/javascripts/local-time.es2017-esm.js +1 -0
- data/app/assets/javascripts/local-time.es2017-umd.js +1 -0
- data/app/helpers/local_time_helper.rb +72 -21
- data/lib/local_time/version.rb +3 -0
- data/test/helpers/local_time_helper_test.rb +60 -31
- data/test/javascripts/builds/index.js +26626 -0
- data/test/javascripts/fixtures/index.html +20 -0
- data/test/javascripts/fixtures/time_zone_check.html +20 -0
- data/test/javascripts/server.mjs +41 -0
- data/test/javascripts/src/format24_test.js +109 -0
- data/test/javascripts/src/i18n_test.js +55 -0
- data/test/javascripts/src/index.js +10 -0
- data/test/javascripts/src/local_time_test.js +54 -0
- data/test/javascripts/src/relative_date_test.js +121 -0
- data/test/javascripts/src/strftime_test.js +151 -0
- data/test/javascripts/src/test_helpers.js +66 -0
- data/test/javascripts/src/time_ago_test.js +72 -0
- data/test/javascripts/vendor/moment.js +5684 -2
- data/test/javascripts/vendor/sinon.js +20485 -0
- metadata +81 -28
- data/app/assets/javascripts/local-time.js +0 -1
- data/test/javascripts/fixtures/body.html +0 -8
- data/test/javascripts/src/i18n_test.coffee +0 -47
- data/test/javascripts/src/local_time_test.coffee +0 -37
- data/test/javascripts/src/relative_date_test.coffee +0 -89
- data/test/javascripts/src/strftime_test.coffee +0 -54
- data/test/javascripts/src/test.coffee +0 -43
- data/test/javascripts/src/time_ago_test.coffee +0 -56
- data/test/javascripts/vendor/sinon-timers.js +0 -385
@@ -0,0 +1,72 @@
|
|
1
|
+
import LocalTime from "local_time"
|
2
|
+
|
3
|
+
const { addTimeEl, assert, defer, getText, setText, test, testAsync, testGroup, triggerEvent } = LocalTime.TestHelpers
|
4
|
+
|
5
|
+
testGroup("time ago", () => {
|
6
|
+
test("a second ago", () => {
|
7
|
+
assertTimeAgo("a second ago", "seconds", 9)
|
8
|
+
})
|
9
|
+
|
10
|
+
test("seconds ago", () => {
|
11
|
+
assertTimeAgo("44 seconds ago", "seconds", 44)
|
12
|
+
})
|
13
|
+
|
14
|
+
test("a minute ago", () => {
|
15
|
+
assertTimeAgo("a minute ago", "seconds", 89)
|
16
|
+
})
|
17
|
+
|
18
|
+
test("minutes ago", () => {
|
19
|
+
assertTimeAgo("44 minutes ago", "minutes", 44)
|
20
|
+
})
|
21
|
+
|
22
|
+
test("an hour ago", () => {
|
23
|
+
assertTimeAgo("an hour ago", "minutes", 89)
|
24
|
+
})
|
25
|
+
|
26
|
+
test("hours ago", () => {
|
27
|
+
assertTimeAgo("23 hours ago", "hours", 23)
|
28
|
+
})
|
29
|
+
|
30
|
+
test("yesterday", () => {
|
31
|
+
const time = moment().subtract("days", 1).format("h:mma")
|
32
|
+
assertTimeAgo(`yesterday at ${time}`, "days", 1)
|
33
|
+
})
|
34
|
+
|
35
|
+
test("tomorrow", () => {
|
36
|
+
const time = moment().add("days", 1).format("h:mma")
|
37
|
+
assertTimeAgo(`tomorrow at ${time}`, "days", -1)
|
38
|
+
})
|
39
|
+
|
40
|
+
test("last week", () => {
|
41
|
+
const ago = moment().subtract("days", 5)
|
42
|
+
const day = ago.format("dddd")
|
43
|
+
const time = ago.format("h:mma")
|
44
|
+
|
45
|
+
assertTimeAgo(`${day} at ${time}`, "days", 5)
|
46
|
+
})
|
47
|
+
|
48
|
+
test("this year", () => {
|
49
|
+
const clock = sinon.useFakeTimers(new Date(2013, 11, 11, 11, 11).getTime(), "Date")
|
50
|
+
const date = moment().subtract("days", 7).format("MMM D")
|
51
|
+
assertTimeAgo(`on ${date}`, "days", 7)
|
52
|
+
clock.restore()
|
53
|
+
})
|
54
|
+
|
55
|
+
test("last year", () => {
|
56
|
+
const date = moment().subtract("days", 366).format("MMM D, YYYY")
|
57
|
+
assertTimeAgo(`on ${date}`, "days", 366)
|
58
|
+
})
|
59
|
+
|
60
|
+
test("next year", () => {
|
61
|
+
const date = moment().add("days", 366).format("MMM D, YYYY")
|
62
|
+
assertTimeAgo(`on ${date}`, "days", -366)
|
63
|
+
})
|
64
|
+
})
|
65
|
+
|
66
|
+
function assertTimeAgo(string, unit, amount) {
|
67
|
+
const el = document.getElementById("ago")
|
68
|
+
el.setAttribute("data-local", "time-ago")
|
69
|
+
el.setAttribute("datetime", moment().subtract(unit, amount).utc().toISOString())
|
70
|
+
LocalTime.run()
|
71
|
+
assert.equal(getText(el), string)
|
72
|
+
}
|