summaryrefslogtreecommitdiff
path: root/Types/MetaData.hs
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2014-03-26 16:40:52 -0400
committerJoey Hess <joey@kitenet.net>2014-03-26 16:40:52 -0400
commit5c79fa03515be3d33629923fcc14b10e0ddbd6fe (patch)
treeee316e35c2fcc213ce1218d05e95bb2b6e5f7f69 /Types/MetaData.hs
parenteb3b6b7e09a01b7ee8a1d53aa2ccab7a43c1b3af (diff)
avoid generating arbitrary MetaData with illegal fields
Diffstat (limited to 'Types/MetaData.hs')
-rw-r--r--Types/MetaData.hs4
1 files changed, 3 insertions, 1 deletions
diff --git a/Types/MetaData.hs b/Types/MetaData.hs
index 706d037bcc..8df56734dd 100644
--- a/Types/MetaData.hs
+++ b/Types/MetaData.hs
@@ -264,7 +264,9 @@ parseMetaData p = (,)
instance Arbitrary MetaData where
arbitrary = do
size <- arbitrarySizedBoundedIntegral `suchThat` (< 500)
- MetaData . M.fromList <$> vector size
+ MetaData . M.filterWithKey legal . M.fromList <$> vector size
+ where
+ legal k _v = legalField $ fromMetaField k
instance Arbitrary MetaValue where
arbitrary = MetaValue <$> arbitrary <*> arbitrary