implemented unescapeString

This commit is contained in:
2021-10-24 12:47:37 -04:00
parent 3484fda01e
commit a61806f8e4
4 changed files with 56 additions and 3 deletions

View File

@@ -31,6 +31,7 @@ spec :: Spec
spec = describe "Network.GemServ" $ do
encodeRequestSpec
escapeStringSpec
unescapeStringSpec
encodeRequestSpec :: Spec
encodeRequestSpec = describe "encodeRequest" $ mapM_
@@ -76,4 +77,21 @@ escapeStringSpec = describe "escapeString" $ mapM_
, ( "foo:/?=&#%", "foo%3a%2f%3f%3d%26%23%25" )
]
unescapeStringSpec :: Spec
unescapeStringSpec = describe "unescapeString" $ mapM_
( \(input, expected) -> context (show input) $
it ("should be " ++ show expected) $
unescapeString input `shouldBe` expected
)
-- input, expected
[ ( "foo", Just "foo" )
, ( "foo%20bar", Just "foo bar" )
, ( "foo%7x", Just "foo%7x" )
, ( "foo%a", Just "foo%a" )
, ( "foo%", Just "foo%" )
, ( "foo%c3%a9", Just "foo\xe9" )
, ( "foo%ff", Nothing )
]
--jl