diff options
author | Greg Wilkins | 2014-03-21 04:38:11 +0000 |
---|---|---|
committer | Greg Wilkins | 2014-03-21 04:38:11 +0000 |
commit | bbfb5c723771d530a559a17890c19d0f8edfeb08 (patch) | |
tree | 18ca47c8f499d5363d32238da61c69125413a7d5 | |
parent | 18f75011b4de1d19e702fc647f4321a9f70d8334 (diff) | |
download | org.eclipse.jetty.project-bbfb5c723771d530a559a17890c19d0f8edfeb08.tar.gz org.eclipse.jetty.project-bbfb5c723771d530a559a17890c19d0f8edfeb08.tar.xz org.eclipse.jetty.project-bbfb5c723771d530a559a17890c19d0f8edfeb08.zip |
430649 test form encoding
-rw-r--r-- | jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java index 72e46adec5..09c31823ef 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java @@ -55,6 +55,7 @@ import org.eclipse.jetty.server.handler.AbstractHandler; import org.eclipse.jetty.server.handler.ContextHandler; import org.eclipse.jetty.util.IO; import org.eclipse.jetty.util.MultiPartInputStreamParser; +import org.eclipse.jetty.util.StringUtil; import org.eclipse.jetty.util.Utf8Appendable; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; @@ -579,6 +580,55 @@ public class RequestTest } @Test + public void test8859EncodedForm() throws Exception + { + _handler._checker = new RequestTester() + { + @Override + public boolean check(HttpServletRequest request,HttpServletResponse response) throws IOException + { + request.setCharacterEncoding(StringUtil.__ISO_8859_1); + return "test\u00e4".equals(request.getParameter("name2")); + } + }; + + + String content="name1=test&name2=test%E4&name3=&name4=test"; + String request="POST / HTTP/1.1\r\n"+ + "Host: whatever\r\n"+ + "Content-Type: "+MimeTypes.Type.FORM_ENCODED.asString()+"\r\n" + + "Content-Length: "+content.length()+"\r\n"+ + "Connection: close\r\n"+ + "\r\n"+ + content; + _connector.getResponses(request); + } + + @Test + public void testUTF8EncodedForm() throws Exception + { + _handler._checker = new RequestTester() + { + @Override + public boolean check(HttpServletRequest request,HttpServletResponse response) throws IOException + { + return "test\u00e4".equals(request.getParameter("name2")); + } + }; + + String content="name1=test&name2=test%C4%A4&name3=&name4=test"; + String request="POST / HTTP/1.1\r\n"+ + "Host: whatever\r\n"+ + "Content-Type: "+MimeTypes.Type.FORM_ENCODED.asString()+"\r\n" + + "Content-Length: "+content.length()+"\r\n"+ + "Connection: close\r\n"+ + "\r\n"+ + content; + _connector.getResponses(request); + } + + + @Test public void testPartialRead() throws Exception { Handler handler = new AbstractHandler() |