From a91f0984966ee64cefc44d28118dc7222c717c8c Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Tue, 19 Jan 2016 11:55:22 +0000 Subject: Better tests for Printout.BBCode --- tp-bbcode/test/Thermoprint/Printout/BBCodeSpec.hs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'tp-bbcode/test') diff --git a/tp-bbcode/test/Thermoprint/Printout/BBCodeSpec.hs b/tp-bbcode/test/Thermoprint/Printout/BBCodeSpec.hs index f3f1840..c10018f 100644 --- a/tp-bbcode/test/Thermoprint/Printout/BBCodeSpec.hs +++ b/tp-bbcode/test/Thermoprint/Printout/BBCodeSpec.hs @@ -11,6 +11,9 @@ import Thermoprint.Printout.BBCode import Thermoprint.Printout import Data.Text (Text) +import qualified Data.Text.Lazy as TL (pack) + +import Data.String (IsString(..)) import Control.Monad (zipWithM_) import Data.Monoid ((<>)) @@ -22,6 +25,9 @@ instance Eq Block where (==) = (==) `on` cotext deriving instance Eq Chunk +instance IsString Line where + fromString = (\(Right l) -> l) . text . TL.pack + spec :: Spec spec = do zipWithM_ example [1..] examples @@ -34,9 +40,11 @@ pOut = pure . Seq.fromList . map Cooked examples :: [(Text, Either BBCodeError [Block])] examples = [ ("Hello World!" - , Right [Line (JuxtaPos [word "Hello", HSpace 1, word "World!"])]) + , Right [Line (JuxtaPos ["Hello", HSpace 1, "World!"])]) , ("Hello [hspace width=2/] World!" - , Right [Line (JuxtaPos [word "Hello", HSpace 4, word "World!"])]) + , Right [Line (JuxtaPos ["Hello", HSpace 4, "World!"])]) + , ("Par1\n\nPar2\n\nPar3 Word2" + , Right [Line ("Par1"), Line ("Par2"), Line (JuxtaPos ["Par3", HSpace 1, "Word2"])]) + , ("Par1 [hspace=3/]\n\n[vspace=2/]Par2\n\nPar3 Word2" + , Right [Line (JuxtaPos ["Par1", HSpace 4]), NewlSep [VSpace 1, Line ("Par2")], Line (JuxtaPos ["Par3", HSpace 1, "Word2"])]) ] - where - word = (\(Right l) -> l) . text -- cgit v1.2.3