X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=time-http.git;a=blobdiff_plain;f=Test%2FTime%2FHTTP.hs;fp=Test%2FTime%2FHTTP.hs;h=0000000000000000000000000000000000000000;hp=0cf15d83736fa40d5f22620a88b84a0385702660;hb=2064aacf48e193924b6ffe18a50853d233c16b98;hpb=901a3635d37e25a2d4c2e1562c32c68c410fbdd3 diff --git a/Test/Time/HTTP.hs b/Test/Time/HTTP.hs deleted file mode 100644 index 0cf15d8..0000000 --- a/Test/Time/HTTP.hs +++ /dev/null @@ -1,104 +0,0 @@ -{-# LANGUAGE - OverloadedStrings - , UnicodeSyntax - #-} -module Main (main) where -import Control.Applicative -import Control.Applicative.Unicode -import Data.Time -import qualified Data.Time.Asctime as Asctime -import qualified Data.Time.HTTP as HTTP -import qualified Data.Time.RFC733 as RFC733 -import qualified Data.Time.RFC1123 as RFC1123 -import System.Exit -import Prelude.Unicode -import Test.QuickCheck - -main ∷ IO () -main = mapM_ runTest tests - -runTest ∷ Property → IO () -runTest prop - = do r ← quickCheckResult prop - case r of - Success {} → return () - GaveUp {} → exitFailure - Failure {} → exitFailure - NoExpectedFailure {} → exitFailure - -instance Arbitrary Day where - arbitrary = ModifiedJulianDay <$> arbitrary - -instance Arbitrary TimeOfDay where - arbitrary - = do h ← choose (0, 23) - m ← choose (0, 59) - s ← choose (0, 60) - return $ TimeOfDay h m (fromIntegral (s ∷ Int)) - -instance Arbitrary LocalTime where - arbitrary = LocalTime <$> arbitrary ⊛ arbitrary - -instance Eq ZonedTime where - a == b = zonedTimeToUTC a ≡ zonedTimeToUTC b - -instance Arbitrary TimeZone where - arbitrary - = do m ← choose (-1439, 1439) - s ← arbitrary - n ← arbitrary - return $ TimeZone m s n - -instance Arbitrary ZonedTime where - arbitrary = ZonedTime <$> arbitrary ⊛ arbitrary - -instance Arbitrary DiffTime where - arbitrary = secondsToDiffTime <$> choose (0, 86400) - -instance Arbitrary UTCTime where - arbitrary = UTCTime <$> arbitrary ⊛ arbitrary - -tests ∷ [Property] -tests = [ -- Asctime - property ( Asctime.fromAscii "Sun Nov 6 08:49:37 1994" - ≡ Right referenceLocalTime ) - - , property ( "Sun Nov 6 08:49:37 1994" - ≡ Asctime.toAscii referenceLocalTime ) - - , property $ \lt → Right lt ≡ Asctime.fromAscii (Asctime.toAscii lt) - - -- RFC733 - , property ( RFC733.fromAscii "Sunday, 06-Nov-94 08:49:37 GMT" - ≡ Right referenceZonedTime ) - - , property ( "Sunday, 06-Nov-1994 08:49:37 GMT" - ≡ RFC733.toAscii referenceZonedTime ) - - , property $ \zt → Right zt ≡ RFC733.fromAscii (RFC733.toAscii zt) - - -- RFC1123 - , property ( RFC1123.fromAscii "Sun, 06 Nov 1994 08:49:37 GMT" - ≡ Right referenceZonedTime ) - - , property ( "Sun, 06 Nov 1994 08:49:37 GMT" - ≡ RFC1123.toAscii referenceZonedTime ) - - , property $ \zt → Right zt ≡ RFC1123.fromAscii (RFC1123.toAscii zt) - - -- HTTP - , property $ \ut → Right ut ≡ HTTP.fromAscii (HTTP.toAscii ut ) - , property $ \ut → Right ut ≡ HTTP.fromAscii (Asctime.toAscii (ut2lt ut)) - , property $ \ut → Right ut ≡ HTTP.fromAscii (RFC733.toAscii (ut2zt ut)) - , property $ \ut → Right ut ≡ HTTP.fromAscii (RFC1123.toAscii (ut2zt ut)) - ] - where - referenceLocalTime - = LocalTime (ModifiedJulianDay 49662) (TimeOfDay 8 49 37) - - referenceZonedTime - = ZonedTime referenceLocalTime utc - - ut2lt = utcToLocalTime utc - - ut2zt = utcToZonedTime utc