import Test.Hspec
import Data.Time.ISO8601
main :: IO ()
main = hspec $ do
let readTest str date = parseISO8601 str `shouldBe` (Just date)
describe "parseISO8601" $ do
it "time zone formats" $ do
readTest "2014-03-28T10:26:00Z" (read "2014-03-28 10:26:00 UTC")
readTest "2014-03-28T10:26:00-0700" (read "2014-03-28 17:26:00 UTC")
readTest "2014-03-28T10:26:00+0700" (read "2014-03-28 03:26:00 UTC")
readTest "2014-03-28T10:26:00-07:00" (read "2014-03-28 17:26:00 UTC")
readTest "2014-03-28T10:26:00+07:00" (read "2014-03-28 03:26:00 UTC")