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