module PandocSpec where import TestImport import Utils.Print import qualified Data.Map.Lazy as Map import Text.Pandoc import Text.Pandoc.Arbitrary () spec :: Spec spec = describe "addMeta" $ do it "should overwrite existing settings" $ do metaOverwrite <- generate arbitrary pd <- generate arbitrary let (Pandoc newMeta _) = addMeta metaOverwrite pd Map.toList (unMeta newMeta) `shouldContain` Map.toList (unMeta metaOverwrite) it "should preserve untouched settings" $ do metaOverwrite <- generate arbitrary pd <- generate arbitrary let (Pandoc keptMeta _) = pd (Pandoc newMeta _) = addMeta metaOverwrite pd Map.toList (unMeta newMeta) `shouldContain` Map.toList ((unMeta keptMeta) `Map.difference` (unMeta metaOverwrite))