@@ -3,8 +3,8 @@ module Katip.Tests.Format.Time
6−import Data.Aeson (toJSON)
6+import Data.Aeson (toJSON)
7−import qualified Data.Text as Text
7+import qualified Data.Text as Text
8import Data.Time
8import Data.Time
9import Data.Time.Clock.POSIX
9import Data.Time.Clock.POSIX
10import qualified Data.Time.Locale.Compat as LC
10import qualified Data.Time.Locale.Compat as LC
@@ -21,16 +21,22 @@ tests = testGroup "Katip.Format.Time"
21 assertEqual "time 1" (formatDT t1) (formatAsLogTime t1)
21 assertEqual "time 1" (formatDT t1) (formatAsLogTime t1)
22 assertEqual "time 2" (formatDT t2) (formatAsLogTime t2)
22 assertEqual "time 2" (formatDT t2) (formatAsLogTime t2)
23 assertEqual "time 3" (formatDT t3) (formatAsLogTime t3)
23 assertEqual "time 3" (formatDT t3) (formatAsLogTime t3)
24+ assertEqual "time 4" (formatDT t4) (formatAsLogTime t4)
25+ assertEqual "time 5" (formatDT t5) (formatAsLogTime t5)
25 , testCase "formatAsIso8601" $ do
27 , testCase "formatAsIso8601" $ do
26 assertEqual "time 1" (formatDTISO t1) (formatAsIso8601 t1)
28 assertEqual "time 1" (formatDTISO t1) (formatAsIso8601 t1)
27 assertEqual "time 2" (formatDTISO t2) (formatAsIso8601 t2)
29 assertEqual "time 2" (formatDTISO t2) (formatAsIso8601 t2)
28 assertEqual "time 3" (formatDTISO t3) (formatAsIso8601 t3)
30 assertEqual "time 3" (formatDTISO t3) (formatAsIso8601 t3)
31+ assertEqual "time 4" (formatDTISO t4) (formatAsIso8601 t4)
32+ assertEqual "time 5" (formatDTISO t5) (formatAsIso8601 t5)
30 , testCase "formatAsIso8601 Aeson" $ do
34 , testCase "formatAsIso8601 Aeson" $ do
31 assertEqual "time 1" (toJSON t1) (toJSON $ formatAsIso8601 t1)
35 assertEqual "time 1" (toJSON t1) (toJSON $ formatAsIso8601 t1)
32 assertEqual "time 2" (toJSON t2) (toJSON $ formatAsIso8601 t2)
36 assertEqual "time 2" (toJSON t2) (toJSON $ formatAsIso8601 t2)
33 assertEqual "time 3" (toJSON t3) (toJSON $ formatAsIso8601 t3)
37 assertEqual "time 3" (toJSON t3) (toJSON $ formatAsIso8601 t3)
38+ assertEqual "time 4" (toJSON t4) (toJSON $ formatAsIso8601 t4)
39+ assertEqual "time 5" (toJSON t5) (toJSON $ formatAsIso8601 t5)
36 , testProperty "LogTime same as Date.Time" $ \(ArbUTCTime t) ->
42 , testProperty "LogTime same as Date.Time" $ \(ArbUTCTime t) ->
@@ -47,6 +53,8 @@ tests = testGroup "Katip.Format.Time"
47 t1 = UTCTime (fromGregorian 2016 12 34) 5025.123456789012
53 t1 = UTCTime (fromGregorian 2016 12 34) 5025.123456789012
48 t2 = UTCTime (fromGregorian 2016 1 23) 5025.123
54 t2 = UTCTime (fromGregorian 2016 1 23) 5025.123
49 t3 = UTCTime (fromGregorian 16 12 1) 025
55 t3 = UTCTime (fromGregorian 16 12 1) 025
56+ t4 = UTCTime (fromGregorian 2000 1 1) 0.000000000001
57+ t5 = UTCTime (fromGregorian 2000 12 31) 0.100000000001
51formatDT :: UTCTime -> Text.Text
59formatDT :: UTCTime -> Text.Text
52formatDT = Text.pack . formatTime LC.defaultTimeLocale "%0Y-%m-%d %H:%M:%S"
60formatDT = Text.pack . formatTime LC.defaultTimeLocale "%0Y-%m-%d %H:%M:%S"