diff options
author | Dominik Picheta <dominikpicheta@googlemail.com> | 2018-01-10 17:45:29 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-10 17:45:29 +0000 |
commit | 24cae4addb7ec4788334db657e8637f616a4e77b (patch) | |
tree | 3b072c8836e898cb5e63a97947c3f7430965b835 /tests/stdlib | |
parent | 5f3438a3fe701544e1841419ecac9c8e64d5e66b (diff) | |
parent | c098ee3c7a2dfeedfcc3a3a33ca83b4b1d69df63 (diff) | |
download | Nim-24cae4addb7ec4788334db657e8637f616a4e77b.tar.gz |
Merge pull request #7033 from GULPF/allow-timezone-closures
Allow timezone procs to be closures
Diffstat (limited to 'tests/stdlib')
-rw-r--r-- | tests/stdlib/ttimes.nim | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/stdlib/ttimes.nim b/tests/stdlib/ttimes.nim index a6ac186cc..1f8ae6a22 100644 --- a/tests/stdlib/ttimes.nim +++ b/tests/stdlib/ttimes.nim @@ -281,6 +281,30 @@ suite "ttimes": test "parseTest": runTimezoneTests() + test "dynamic timezone": + proc staticOffset(offset: int): Timezone = + proc zoneInfoFromTz(adjTime: Time): ZonedTime = + result.isDst = false + result.utcOffset = offset + result.adjTime = adjTime + + proc zoneInfoFromUtc(time: Time): ZonedTime = + result.isDst = false + result.utcOffset = offset + result.adjTime = fromUnix(time.toUnix - offset) + + result.name = "" + result.zoneInfoFromTz = zoneInfoFromTz + result.zoneInfoFromUtc = zoneInfoFromUtc + + let tz = staticOffset(-9000) + let dt = initDateTime(1, mJan, 2000, 12, 00, 00, tz) + check dt.utcOffset == -9000 + check dt.isDst == false + check $dt == "2000-01-01T12:00:00+02:30" + check $dt.utc == "2000-01-01T09:30:00+00:00" + check $dt.utc.inZone(tz) == $dt + test "isLeapYear": check isLeapYear(2016) check (not isLeapYear(2015)) |