packages feed

timerep 2.0.0.2 → 2.0.1.0

raw patch · 4 files changed

+24/−10 lines, 4 filesdep ~time

Dependency ranges changed: time

Files

Data/Time/RFC3339.hs view
@@ -32,7 +32,7 @@ module Data.Time.RFC3339 (     -- * Basic type class     -- $basic-    formatTimeRFC3339, parseTimeRFC3339+    formatTimeRFC3339, formatDateRFC3339, parseTimeRFC3339, parseDateRFC3339 ) where  import           Control.Applicative@@ -55,6 +55,9 @@                     then "Z"                     else take 3 timeZoneStr <> ":" <> drop 3 timeZoneStr +formatDateRFC3339 :: (TextualMonoid t, FormatTime time) => time -> t+formatDateRFC3339 day = fromString (formatTime defaultTimeLocale "%F" day)+ formatsRFC3339 :: [Text] formatsRFC3339 = do   fraction <- ["%Q", ""]@@ -63,3 +66,6 @@  parseTimeRFC3339 :: (TextualMonoid t) => t -> Maybe ZonedTime parseTimeRFC3339 = parseTimeUsing formatsRFC3339++parseDateRFC3339 :: (TextualMonoid t) => t -> Maybe Day+parseDateRFC3339 = parseTimeUsing ["%F" :: Text]
Data/Time/Util.hs view
@@ -6,13 +6,12 @@ import           Data.Monoid         (mempty) import           Data.Monoid.Textual hiding (foldr, map) import           Data.Time-import           Data.Time.Format    (defaultTimeLocale)+import           Data.Time.Format    (ParseTime, defaultTimeLocale)   toString' :: (TextualMonoid t) => t -> String toString' = toString (maybe "?" (:[]) . characterPrefix) -parseTimeUsing :: (TextualMonoid t, TextualMonoid t') => [t] -> t' -> Maybe ZonedTime+parseTimeUsing :: (TextualMonoid t, TextualMonoid t', ParseTime time) => [t] -> t' -> Maybe time parseTimeUsing formats t = foldr (<|>) Nothing $ map parse formats-    where parse :: (TextualMonoid t) => t -> Maybe ZonedTime-          parse format = parseTime defaultTimeLocale (toString' format) (toString' t)+    where parse format = parseTimeM True defaultTimeLocale (toString' format) (toString' t)
test/Main.hs view
@@ -75,6 +75,10 @@   isJust (parseTimeRFC3339 "1990-12-31T23:59:60Z") @?= True   isJust (parseTimeRFC3339 "1990-12-31T15:59:60-08:00") @?= True   isJust (parseTimeRFC3339 "1937-01-01T12:00:27.87+00:20") @?= True+  isJust (parseDateRFC3339 "1985-04-12") @?= True+  isJust (parseDateRFC3339 "1996-12-19") @?= True+  isJust (parseDateRFC3339 "1990-12-31") @?= True+  isJust (parseDateRFC3339 "1937-01-01") @?= True casesRFC2822 = testCase "RFC 2822 cases" $ do   isJust (parseTimeRFC2822 "Fri, 21 Nov 1997 09:55:06 -0600") @?= True   isJust (parseTimeRFC2822 "Tue, 15 Nov 1994 12:45:26 GMT") @?= True@@ -100,14 +104,17 @@  properties :: TestTree properties = testGroup "Properties"-  [ inverseRFC3339Property+  [ inverseTimeRFC3339Property+  , inverseDateRFC3339Property   , inverseRFC2822Property   , inverseRFC822Property   ] -inverseRFC3339Property, inverseRFC2822Property, inverseRFC822Property :: TestTree-inverseRFC3339Property = testProperty "parse . format = id (RFC3339)" $ \zonedTime ->+inverseTimeRFC3339Property, inverseDateRFC3339Property, inverseRFC2822Property, inverseRFC822Property :: TestTree+inverseTimeRFC3339Property = testProperty "parse . format = id (RFC3339 date-time)" $ \zonedTime ->   (fmap zonedTimeToUTC . parseTimeRFC3339 . asText . formatTimeRFC3339) zonedTime == Just (zonedTimeToUTC zonedTime)+inverseDateRFC3339Property = testProperty "parse . format = id (RFC3339 date)" $ \day ->+  (parseDateRFC3339 . asText . formatDateRFC3339) day == Just day inverseRFC2822Property = testProperty "parse . format = id (RFC2822)" $ \zonedTime ->   (fmap zonedTimeToUTC . parseTimeRFC2822 . asText . formatTimeRFC2822) zonedTime == Just (zonedTimeToUTC zonedTime) inverseRFC822Property = testProperty "parse . format = id (RFC822)" $ \zonedTime ->
timerep.cabal view
@@ -1,5 +1,5 @@ name:          timerep-version:       2.0.0.2+version:       2.0.1.0 category:      Web, Time, Parser, Text synopsis:      Parse and display time according to some RFCs (RFC3339, RFC2822, RFC822) description:@@ -18,7 +18,7 @@ maintainer:    Hugo Daniel Gomes <mr.hugo.gomes@gmail.com> author:        Hugo Daniel Gomes <mr.hugo.gomes@gmail.com> copyright:     (c) 2010-2015 Hugo Daniel Gomes-cabal-version: >= 1.8+cabal-version: >= 1.10 homepage:      https://github.com/HugoDaniel/timerep bug-reports:   https://github.com/HugoDaniel/timerep/issues license:       BSD3@@ -32,6 +32,7 @@   location: git://github.com/HugoDaniel/timerep.git  library+  default-language: Haskell2010   build-depends:     base < 5,     monoid-subclasses >= 0.4.1,@@ -50,6 +51,7 @@   ghc-options: -Wall  test-suite Tests+  default-language: Haskell2010   type: exitcode-stdio-1.0   hs-source-dirs: test   main-is: Main.hs