fix(build): tests were overzealous

This commit is contained in:
Steffen Jost 2022-07-16 00:03:00 +02:00
parent 399b2d3fc6
commit ed3ca8c3d6

View File

@ -7,6 +7,7 @@ import Utils.Print
import qualified Data.Set as Set
import qualified Data.Map.Lazy as Map
import qualified Data.Foldable as Fold
import qualified Data.Text as T
import Text.Pandoc
import Text.Pandoc.Builder
@ -21,8 +22,8 @@ instance Arbitrary ArbitraryMeta where
= do (x1 :: Inlines) <- arbitrary
(x2 :: [Inlines]) <- filter (not . Fold.null) <$> arbitrary
(x3 :: Inlines) <- arbitrary
(x4 :: [(Text, Text)]) <- arbitrary
(x5 :: [(Text, Bool)]) <- arbitrary
(x4 :: [(Text, Text)]) <- filter (not . T.null . fst) <$> arbitrary
(x5 :: [(Text, Bool)]) <- filter (not . T.null . fst) <$> arbitrary
return $ ArbitraryMeta
$ setMeta "title" x1
$ setMeta "author" x2
@ -61,7 +62,8 @@ spec = do
metaOriginal = unArbitraryMeta abMetaOriginal
pd = Pandoc metaOriginal blocks
(Pandoc newMeta _) = addMeta metaOverwrite pd
mlist newMeta `shouldContain` mlist metaOverwrite
keysToPreserve = Map.keysSet $ unMeta metaOverwrite
mlist metaOverwrite `shouldMatchList` Map.toList (unMeta newMeta `Map.restrictKeys` keysToPreserve)
it "should preserve untouched settings" $ do
(abMetaOverwrite, abMetaOriginal, blocks) <- generate arbitrary
@ -70,7 +72,10 @@ spec = do
metaOriginal = unArbitraryMeta abMetaOriginal
pd = Pandoc metaOriginal blocks
(Pandoc newMeta _) = addMeta metaOverwrite pd
mlist newMeta `shouldContain` Map.toList (unMeta metaOriginal `Map.difference` unMeta metaOverwrite)
keysToPreserve = Map.keysSet (unMeta metaOriginal) `Set.difference` Map.keysSet (unMeta metaOverwrite)
Map.toList (Map.restrictKeys (unMeta newMeta) keysToPreserve)
`shouldMatchList`
Map.toList (Map.restrictKeys (unMeta metaOriginal) keysToPreserve)
it "should preserve document blocks" $ do
(metaOverwrite, pd) <- generate arbitrary