~nskaggs/+junk/xenial-test

« back to all changes in this revision

Viewing changes to src/github.com/dustin/go-humanize/times_test.go

  • Committer: Nicholas Skaggs
  • Date: 2016-10-24 20:56:05 UTC
  • Revision ID: nicholas.skaggs@canonical.com-20161024205605-z8lta0uvuhtxwzwl
Initi with beta15

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package humanize
 
2
 
 
3
import (
 
4
        "math"
 
5
        "testing"
 
6
        "time"
 
7
)
 
8
 
 
9
func TestPast(t *testing.T) {
 
10
        now := time.Now().Unix()
 
11
        testList{
 
12
                {"now", Time(time.Unix(now, 0)), "now"},
 
13
                {"1 second ago", Time(time.Unix(now-1, 0)), "1 second ago"},
 
14
                {"12 seconds ago", Time(time.Unix(now-12, 0)), "12 seconds ago"},
 
15
                {"30 seconds ago", Time(time.Unix(now-30, 0)), "30 seconds ago"},
 
16
                {"45 seconds ago", Time(time.Unix(now-45, 0)), "45 seconds ago"},
 
17
                {"1 minute ago", Time(time.Unix(now-63, 0)), "1 minute ago"},
 
18
                {"15 minutes ago", Time(time.Unix(now-15*Minute, 0)), "15 minutes ago"},
 
19
                {"1 hour ago", Time(time.Unix(now-63*Minute, 0)), "1 hour ago"},
 
20
                {"2 hours ago", Time(time.Unix(now-2*Hour, 0)), "2 hours ago"},
 
21
                {"21 hours ago", Time(time.Unix(now-21*Hour, 0)), "21 hours ago"},
 
22
                {"1 day ago", Time(time.Unix(now-26*Hour, 0)), "1 day ago"},
 
23
                {"2 days ago", Time(time.Unix(now-49*Hour, 0)), "2 days ago"},
 
24
                {"3 days ago", Time(time.Unix(now-3*Day, 0)), "3 days ago"},
 
25
                {"1 week ago (1)", Time(time.Unix(now-7*Day, 0)), "1 week ago"},
 
26
                {"1 week ago (2)", Time(time.Unix(now-12*Day, 0)), "1 week ago"},
 
27
                {"2 weeks ago", Time(time.Unix(now-15*Day, 0)), "2 weeks ago"},
 
28
                {"1 month ago", Time(time.Unix(now-39*Day, 0)), "1 month ago"},
 
29
                {"3 months ago", Time(time.Unix(now-99*Day, 0)), "3 months ago"},
 
30
                {"1 year ago (1)", Time(time.Unix(now-365*Day, 0)), "1 year ago"},
 
31
                {"1 year ago (1)", Time(time.Unix(now-400*Day, 0)), "1 year ago"},
 
32
                {"2 years ago (1)", Time(time.Unix(now-548*Day, 0)), "2 years ago"},
 
33
                {"2 years ago (2)", Time(time.Unix(now-725*Day, 0)), "2 years ago"},
 
34
                {"2 years ago (3)", Time(time.Unix(now-800*Day, 0)), "2 years ago"},
 
35
                {"3 years ago", Time(time.Unix(now-3*Year, 0)), "3 years ago"},
 
36
                {"long ago", Time(time.Unix(now-LongTime, 0)), "a long while ago"},
 
37
        }.validate(t)
 
38
}
 
39
 
 
40
func TestFuture(t *testing.T) {
 
41
        now := time.Now().Unix()
 
42
        testList{
 
43
                {"now", Time(time.Unix(now, 0)), "now"},
 
44
                {"1 second from now", Time(time.Unix(now+1, 0)), "1 second from now"},
 
45
                {"12 seconds from now", Time(time.Unix(now+12, 0)), "12 seconds from now"},
 
46
                {"30 seconds from now", Time(time.Unix(now+30, 0)), "30 seconds from now"},
 
47
                {"45 seconds from now", Time(time.Unix(now+45, 0)), "45 seconds from now"},
 
48
                {"15 minutes from now", Time(time.Unix(now+15*Minute, 0)), "15 minutes from now"},
 
49
                {"2 hours from now", Time(time.Unix(now+2*Hour, 0)), "2 hours from now"},
 
50
                {"21 hours from now", Time(time.Unix(now+21*Hour, 0)), "21 hours from now"},
 
51
                {"1 day from now", Time(time.Unix(now+26*Hour, 0)), "1 day from now"},
 
52
                {"2 days from now", Time(time.Unix(now+49*Hour, 0)), "2 days from now"},
 
53
                {"3 days from now", Time(time.Unix(now+3*Day, 0)), "3 days from now"},
 
54
                {"1 week from now (1)", Time(time.Unix(now+7*Day, 0)), "1 week from now"},
 
55
                {"1 week from now (2)", Time(time.Unix(now+12*Day, 0)), "1 week from now"},
 
56
                {"2 weeks from now", Time(time.Unix(now+15*Day, 0)), "2 weeks from now"},
 
57
                {"1 month from now", Time(time.Unix(now+30*Day, 0)), "1 month from now"},
 
58
                {"1 year from now", Time(time.Unix(now+365*Day, 0)), "1 year from now"},
 
59
                {"2 years from now", Time(time.Unix(now+2*Year, 0)), "2 years from now"},
 
60
                {"a while from now", Time(time.Unix(now+LongTime, 0)), "a long while from now"},
 
61
        }.validate(t)
 
62
}
 
63
 
 
64
func TestRange(t *testing.T) {
 
65
        start := time.Time{}
 
66
        end := time.Unix(math.MaxInt64, math.MaxInt64)
 
67
        x := RelTime(start, end, "ago", "from now")
 
68
        if x != "a long while from now" {
 
69
                t.Errorf("Expected a long while from now, got %q", x)
 
70
        }
 
71
}