chunky-0.1.0.0: test/RoundtripTest.hs
{-# LANGUAGE OverloadedStrings, DoAndIfThenElse #-}
module Main where
import Codec.Chunky
import qualified Data.Text as T
import Data.Text.Encoding
import qualified Data.ByteString.Lazy as B
import Test.HUnit
import System.Exit
import Data.Binary.Get
import Data.Binary.Put
chunks :: [Chunk]
chunks = [ Textual "Test Textual" "Blabsdfsdf\n\nafsdfsadfs"
, Binary "Test Binary" (B.fromStrict $ encodeUtf8 "bladsfdsg\n\ndfg")
, Binary "Test Binary2" (B.pack [0xFF, 0xFF, 0xFF, 0xEF, 0xBB, 0xBF, 0x00])
]
tests = TestList [TestLabel "Roundtrip Test" rndtripTest]
rndtripTest = TestCase (do
let bs = runPut $ putChunks chunks
let act = runGet (readChunks (length chunks)) bs
assertEqual "" chunks act
)
main :: IO ()
main = do
cnts <- runTestTT $ tests
if (errors cnts > 0 || failures cnts > 0) then
exitWith (ExitFailure 1)
else
exitSuccess