From 08a9632ebaf385be432867fbed713cbd9c7e6148 Mon Sep 17 00:00:00 2001 From: Christopher League Date: Tue, 13 Aug 2019 11:58:11 -0400 Subject: [PATCH] yesod-test: correction to PR for multipart --- yesod-test/Yesod/Test.hs | 5 ++--- yesod-test/test/main.hs | 12 ++++++------ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/yesod-test/Yesod/Test.hs b/yesod-test/Yesod/Test.hs index ef5af224..79640a32 100644 --- a/yesod-test/Yesod/Test.hs +++ b/yesod-test/Yesod/Test.hs @@ -1242,9 +1242,8 @@ request reqBuilder = do BS8.concat $ separator : [BS8.concat [multipartPart p, separator] | p <- parts] multipartPart (ReqKvPart k v) = BS8.concat [ "Content-Disposition: form-data; " - , "name=\"", enc k, "\"\r\n\r\n" - , enc v, "\r\n"] - where enc = H.urlEncode False . TE.encodeUtf8 + , "name=\"", TE.encodeUtf8 k, "\"\r\n\r\n" + , TE.encodeUtf8 v, "\r\n"] multipartPart (ReqFilePart k v bytes mime) = BS8.concat [ "Content-Disposition: form-data; " , "name=\"", TE.encodeUtf8 k, "\"; " diff --git a/yesod-test/test/main.hs b/yesod-test/test/main.hs index 5bd45a17..77957d9c 100644 --- a/yesod-test/test/main.hs +++ b/yesod-test/test/main.hs @@ -146,10 +146,10 @@ main = hspec $ do setMethod "POST" setUrl $ LiteAppRoute ["post"] -- If value uses special characters, - addPostParam "foo" "foo+bar%41&baz" + addPostParam "foo" "foo+bar%41<&baz" statusIs 200 -- They pass through the server correctly. - bodyEquals "foo+bar%41&baz" + bodyEquals "foo+bar%41<&baz" yit "labels" $ do get ("/form" :: Text) statusIs 200 @@ -157,13 +157,13 @@ main = hspec $ do request $ do setMethod "POST" setUrl ("/form" :: Text) - byLabel "Some Label" "foo+bar%41&baz" + byLabel "Some Label" "foo+bar%41<&baz" fileByLabel "Some File" "test/main.hs" "text/plain" addToken statusIs 200 - -- The '%', '&' get further encoded because "/form" - -- (unlike "/post") uses toHtml. - bodyEquals "foo+bar%2541&baz" + -- The '<' and '&' get encoded to HTML entities because + -- "/form" (unlike "/post") uses toHtml. + bodyEquals "foo+bar%41<&baz" yit "labels WForm" $ do get ("/wform" :: Text) statusIs 200