packages feed

chunky-0.1.0.0: src/chunky-test/Main.hs

{-# LANGUAGE OverloadedStrings, DoAndIfThenElse #-}

module Main where

import qualified Codec.Chunky as C
import qualified Data.Text as T
import Data.Text.Encoding
import qualified Data.ByteString.Lazy as B
import Control.Applicative
import Data.Binary.Get
import Data.Binary.Put

chunks :: [C.Chunk]
chunks = [ C.Textual "Test Textual" "Blabsdfsdf\n\nafsdfsadfs"
        , C.Binary "Test Binary" (B.fromStrict $ encodeUtf8 "bladsfdsg\n\ndfg")
        , C.Binary "Test Binary2" (B.pack [0xFF, 0xFF, 0xFF, 0xEF, 0xBB, 0xBF, 0x00])
        ]

main :: IO ()
main = do
  B.writeFile "test.chnk" $ runPut $ C.putChunks chunks
  rr <- runGet (C.readChunks (length chunks)) <$> B.readFile "test.chnk"
  if rr == chunks then
    putStrLn "Got back correct result!"
  else
    putStrLn "Wrong result !?"