From 0366f8cccaa7cf644d25d99c5a27c0d73a5714b0 Mon Sep 17 00:00:00 2001 From: Steffen Jost Date: Fri, 20 Jan 2023 14:29:36 +0100 Subject: [PATCH] fix(test): test for applyMetas handles duplicate keys in correct order now --- test/PandocSpec.hs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) 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