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".
|
||||
--
|
||||
-- This property papers over the problem, by only
|
||||
-- testing chars < 256.
|
||||
nohigh = filter (\c -> ord c < 256)
|
||||
-- testing ascii
|
||||
nohigh = filter isAscii
|
||||
-- A String can contain a NUL, but toRawFilePath
|
||||
-- truncates on the NUL, which is generally fine
|
||||
-- because unix filenames cannot contain NUL.
|
||||
|
|
|
@ -15,7 +15,7 @@ module Utility.Format (
|
|||
) where
|
||||
|
||||
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.Word (Word8)
|
||||
import Data.List (isPrefixOf)
|
||||
|
@ -176,12 +176,12 @@ encode_c' p = concatMap echar
|
|||
{- For quickcheck.
|
||||
-
|
||||
- Encoding and then decoding roundtrips only when
|
||||
- the string does not contain high unicode, because eg,
|
||||
- both "\12345" and "\227\128\185" are encoded to "\343\200\271".
|
||||
- the string is ascii because eg, both "\12345" and
|
||||
- "\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 s = s' == decode_c (encode_c s')
|
||||
where
|
||||
s' = filter (\c -> ord c < 256) s
|
||||
s' = filter isAscii s
|
||||
|
|
Loading…
Add table
Reference in a new issue