fix quickcheck failure
prop_encode_decode_roundtrip failed on "\175" in C locale. This may be a new problem after the switch to RawFilePath, but it already had filtering for high chars, so changed to only test ascii chars.
This commit is contained in:
parent
91ec283be6
commit
e006acc8e3
2 changed files with 7 additions and 7 deletions
|
@ -46,8 +46,8 @@ prop_encode_decode_roundtrip s = s' ==
|
||||||
-- "\343\200\271".
|
-- "\343\200\271".
|
||||||
--
|
--
|
||||||
-- This property papers over the problem, by only
|
-- This property papers over the problem, by only
|
||||||
-- testing chars < 256.
|
-- testing ascii
|
||||||
nohigh = filter (\c -> ord c < 256)
|
nohigh = filter isAscii
|
||||||
-- A String can contain a NUL, but toRawFilePath
|
-- A String can contain a NUL, but toRawFilePath
|
||||||
-- truncates on the NUL, which is generally fine
|
-- truncates on the NUL, which is generally fine
|
||||||
-- because unix filenames cannot contain NUL.
|
-- because unix filenames cannot contain NUL.
|
||||||
|
|
|
@ -15,7 +15,7 @@ module Utility.Format (
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Text.Printf (printf)
|
import Text.Printf (printf)
|
||||||
import Data.Char (isAlphaNum, isOctDigit, isHexDigit, isSpace, chr, ord)
|
import Data.Char (isAlphaNum, isOctDigit, isHexDigit, isSpace, chr, ord, isAscii)
|
||||||
import Data.Maybe (fromMaybe)
|
import Data.Maybe (fromMaybe)
|
||||||
import Data.Word (Word8)
|
import Data.Word (Word8)
|
||||||
import Data.List (isPrefixOf)
|
import Data.List (isPrefixOf)
|
||||||
|
@ -176,12 +176,12 @@ encode_c' p = concatMap echar
|
||||||
{- For quickcheck.
|
{- For quickcheck.
|
||||||
-
|
-
|
||||||
- Encoding and then decoding roundtrips only when
|
- Encoding and then decoding roundtrips only when
|
||||||
- the string does not contain high unicode, because eg,
|
- the string is ascii because eg, both "\12345" and
|
||||||
- both "\12345" and "\227\128\185" are encoded to "\343\200\271".
|
- "\227\128\185" are encoded to "\343\200\271".
|
||||||
-
|
-
|
||||||
- This property papers over the problem, by only testing chars < 256.
|
- This property papers over the problem, by only testing ascii.
|
||||||
-}
|
-}
|
||||||
prop_encode_c_decode_c_roundtrip :: String -> Bool
|
prop_encode_c_decode_c_roundtrip :: String -> Bool
|
||||||
prop_encode_c_decode_c_roundtrip s = s' == decode_c (encode_c s')
|
prop_encode_c_decode_c_roundtrip s = s' == decode_c (encode_c s')
|
||||||
where
|
where
|
||||||
s' = filter (\c -> ord c < 256) s
|
s' = filter isAscii s
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue