28 lines
780 B
Haskell
28 lines
780 B
Haskell
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))
|