[commit: packages/time] master: test parse %d %e single digit (8028949)

git at git.haskell.org git at git.haskell.org
Fri Jan 23 23:00:22 UTC 2015


Repository : ssh://git@git.haskell.org/time

On branch  : master
Link       : http://git.haskell.org/packages/time.git/commitdiff/802894907b34d4f3979ea2a88d0393c7d404e9ec

>---------------------------------------------------------------

commit 802894907b34d4f3979ea2a88d0393c7d404e9ec
Author: Ashley Yakeley <ashley at semantic.org>
Date:   Sat May 7 22:21:09 2011 -0700

    test parse %d %e single digit
    
    Ignore-this: 81b90faa6de38d80462fc534b5e0f101
    
    darcs-hash:20110508052109-ac6dd-6c9689e1cf5500fb02b7172ba2e6dd731a81f1b9


>---------------------------------------------------------------

802894907b34d4f3979ea2a88d0393c7d404e9ec
 test/TestParseTime.hs | 26 ++++++++++++++++++++++----
 1 file changed, 22 insertions(+), 4 deletions(-)

diff --git a/test/TestParseTime.hs b/test/TestParseTime.hs
index c8eabd2..1d2d1c2 100644
--- a/test/TestParseTime.hs
+++ b/test/TestParseTime.hs
@@ -46,6 +46,9 @@ main = do
     _ <- checkAll knownFailures
     exitWith (if good1 && good2 then ExitSuccess else ExitFailure 1)
 
+days2011 :: [Day]
+days2011 = [(fromGregorian 2011 1 1) .. (fromGregorian 2011 12 31)]
+
 extests :: [(String,ExhaustiveTest)]
 extests = [
     ("parse %y",MkExhaustiveTest [0..99] parseYY),
@@ -53,19 +56,34 @@ extests = [
     ("parse %C %y 2000s",MkExhaustiveTest [0..99] (parseCYY 20)),
     ("parse %C %y 1400s",MkExhaustiveTest [0..99] (parseCYY 14)),
     ("parse %C %y 700s",MkExhaustiveTest [0..99] (parseCYY 7)),
-    ("parseYearDay",MkExhaustiveTest [(fromGregorian 2011 1 1) .. (fromGregorian 2011 12 31)] parseYearDay)
+    ("parseYearDay %Y %m %d",MkExhaustiveTest days2011 parseYearDayD),
+    ("parseYearDay %Y %m %d 0-pad",MkExhaustiveTest days2011 parseYearDayD2),
+    ("parseYearDay %Y %m %e",MkExhaustiveTest days2011 parseYearDayE),
+    ("parseYearDay %Y %m %e 0-pad",MkExhaustiveTest days2011 parseYearDayE2)
     ]
 
-parseYearDay :: Day -> IO Bool
-parseYearDay day = case toGregorian day of
+parseYearDayD :: Day -> IO Bool
+parseYearDayD day = case toGregorian day of
+    (y,m,d) -> return $ (parse "%Y %m %d" ((show y) ++ " " ++ (show m) ++ " " ++ (show d))) == Just day
+
+parseYearDayD2 :: Day -> IO Bool
+parseYearDayD2 day = case toGregorian day of
+    (y,m,d) -> return $ (parse "%Y %m %d" ((show y) ++ " " ++ (show2 m) ++ " " ++ (show2 d))) == Just day
+
+parseYearDayE :: Day -> IO Bool
+parseYearDayE day = case toGregorian day of
     (y,m,d) -> return $ (parse "%Y %m %e" ((show y) ++ " " ++ (show m) ++ " " ++ (show d))) == Just day
 
+parseYearDayE2 :: Day -> IO Bool
+parseYearDayE2 day = case toGregorian day of
+    (y,m,d) -> return $ (parse "%Y %m %e" ((show y) ++ " " ++ (show2 m) ++ " " ++ (show2 d))) == Just day
+
 -- | 1969 - 2068
 expectedYear :: Integer -> Integer
 expectedYear i | i >= 69 = 1900 + i
 expectedYear i = 2000 + i
 
-show2 :: Integer -> String
+show2 :: (Integral n) => n -> String
 show2 i = (show (div i 10)) ++ (show (mod i 10))
 
 parseYY :: Integer -> IO Bool



More information about the ghc-commits mailing list