Fixed wrong encoding of URI templates with @-signs (SPR-6874)

This commit is contained in:
Arjen Poutsma
2010-03-02 11:30:36 +00:00
parent e653a9cd03
commit d207c2294d
5 changed files with 17 additions and 7 deletions

View File

@@ -127,6 +127,9 @@ public class RestTemplateIntegrationTests {
public void uri() throws InterruptedException, URISyntaxException {
String result = template.getForObject(URI + "/uri/{query}", String.class, "Z\u00fcrich");
assertEquals("Invalid request URI", "/uri/Z%FCrich", result);
result = template.getForObject(URI + "/uri/query={query}", String.class, "foo@bar");
assertEquals("Invalid request URI", "/uri/query=foo@bar", result);
}
/** Servlet that returns and error message for a given status code. */

View File

@@ -152,4 +152,11 @@ public class UriTemplateTests {
assertEquals("/$replacement", uri.toString());
}
@Test
public void expandWithAtSign() {
UriTemplate template = new UriTemplate("http://localhost/query={query}");
URI uri = template.expand("foo@bar");
assertEquals("http://localhost/query=foo@bar", uri.toString());
}
}

View File

@@ -117,6 +117,7 @@ public class UriUtilsTest {
assertEquals("Invalid encoded URI", "../../../demo/jfc/SwingSet2/src/SwingSet2.java",
UriUtils.encodeUri("../../../demo/jfc/SwingSet2/src/SwingSet2.java", ENC));
assertEquals("Invalid encoded URI", "file:///~/calendar", UriUtils.encodeUri("file:///~/calendar", ENC));
assertEquals("Invalid encoded URI", "http://example.com/query=foo@bar", UriUtils.encodeUri("http://example.com/query=foo@bar", ENC));
}