{-# LANGUAGE MagicHash, OverloadedStrings, TemplateHaskell #-}
module Utf8Test (tests, main) where
import Test.Tasty
import Test.Tasty.TH
import Test.Tasty.HUnit
import Data.BufferBuilder.Utf8
import qualified Data.Text as Text
import qualified Data.Text.Encoding as TE
case_append_string :: Assertion
case_append_string = do
let str = "foo\NUL\1234"
let bb = runUtf8Builder $ do
appendString str
assertEqual "matches" (Text.pack str) $ TE.decodeUtf8 bb
case_append_chars :: Assertion
case_append_chars = do
let bb = runUtf8Builder $ do
appendChar '\NUL'
appendChar '\x1234'
assertEqual "matches" (TE.encodeUtf8 "\NUL\x1234") bb
tests :: TestTree
tests = $(testGroupGenerator)
main :: IO ()
main = defaultMain tests