123456789101112131415161718192021222324252627282930313233343536 |
- package timeutils
- import (
- "testing"
- )
- func TestGetTimestamp(t *testing.T) {
- cases := []struct{ in, expected string }{
- {"0", "-62167305600"}, // 0 gets parsed year 0
- // Partial RFC3339 strings get parsed with second precision
- {"2006-01-02T15:04:05.999999999+07:00", "1136189045"},
- {"2006-01-02T15:04:05.999999999Z", "1136214245"},
- {"2006-01-02T15:04:05.999999999", "1136214245"},
- {"2006-01-02T15:04:05", "1136214245"},
- {"2006-01-02T15:04", "1136214240"},
- {"2006-01-02T15", "1136214000"},
- {"2006-01-02T", "1136160000"},
- {"2006-01-02", "1136160000"},
- {"2006", "1136073600"},
- {"2015-05-13T20:39:09Z", "1431549549"},
- // unix timestamps returned as is
- {"1136073600", "1136073600"},
- // String fallback
- {"invalid", "invalid"},
- }
- for _, c := range cases {
- o := GetTimestamp(c.in)
- if o != c.expected {
- t.Fatalf("wrong value for '%s'. expected:'%s' got:'%s'", c.in, c.expected, o)
- }
- }
- }
|