diff options
Diffstat (limited to 'Types/MetaData.hs')
-rw-r--r-- | Types/MetaData.hs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Types/MetaData.hs b/Types/MetaData.hs index 1e8fb4aa2..cf2811b22 100644 --- a/Types/MetaData.hs +++ b/Types/MetaData.hs @@ -270,10 +270,16 @@ instance Arbitrary MetaData where legal k _v = legalField $ fromMetaField k instance Arbitrary MetaValue where - arbitrary = MetaValue <$> arbitrary <*> arbitrary + arbitrary = MetaValue + <$> arbitrary + -- Avoid non-ascii metavalues because fully arbitrary + -- strings may not be encoded using the filesystem + -- encoding, which is norally applied to all input. + <*> arbitrary `suchThat` all isAscii instance Arbitrary MetaField where - arbitrary = MetaField . CI.mk <$> arbitrary `suchThat` legalField + arbitrary = MetaField . CI.mk + <$> arbitrary `suchThat` legalField prop_metadata_sane :: MetaData -> MetaField -> MetaValue -> Bool prop_metadata_sane m f v = and |