diff --git a/test/PandocSpec.hs b/test/PandocSpec.hs index c18e0ce2a..3f8386c28 100644 --- a/test/PandocSpec.hs +++ b/test/PandocSpec.hs @@ -19,10 +19,10 @@ import Text.Pandoc.Arbitrary () -- Instance Arbitrary Meta is somewhat useless, as it always generates the same 3 keys. newtype ArbitraryMeta = ArbitraryMeta { unArbitraryMeta :: Meta } - deriving newtype (Eq, Ord, Semigroup, Monoid, Show, Read) + deriving newtype (Eq, Ord, Semigroup, Monoid, Show, Read, Typeable) newtype ArbitraryPandoc = ArbitraryPandoc { unArbitraryPandoc :: Pandoc } - deriving newtype (Eq, Ord, Show, Read) + deriving newtype (Eq, Ord, Show, Read, Typeable) newtype ArbitraryMapText a = ArbitraryMapText { unArbitraryMapText :: [(Text, a)] } @@ -75,9 +75,8 @@ spec = do metaList1 :: [(Text, Maybe MetaValue)] = second (Just . MetaString) <$> unArbitraryMapText metaList0 pd = unArbitraryPandoc apd (Pandoc metaNew _) = applyMetas metaList1 pd - metaMap1 = Map.fromList metaList1 -- remove duplicate keys - keys1 = Map.keysSet metaMap1 - metaList' = [(k, Just t) | (k, t) <- mlist metaNew, k `Set.member` keys1] + metaMap1 = Map.fromList $ reverse metaList1 -- remove duplicate keys, keeping the first + metaList' = [(k, Just t) | (k, t) <- mlist metaNew, k `Set.member` metaMap1] metaList' `shouldMatchList` Map.toAscList metaMap1 it "should preserve untouched settings" $ do