SPR-8612 Allow explicit status code in HTTP 1.0 compatibility mode

This commit is contained in:
Rossen Stoyanchev
2011-08-15 12:25:28 +00:00
parent 936c83b030
commit 224bce1b64
2 changed files with 35 additions and 12 deletions

View File

@@ -69,20 +69,32 @@ public class RedirectViewTests {
}
@Test
public void explicitStatusCode() throws Exception {
public void explicitStatusCodeHttp11() throws Exception {
RedirectView rv = new RedirectView();
rv.setUrl("http://url.somewhere.com");
rv.setHttp10Compatible(false);
rv.setStatusCode(HttpStatus.CREATED);
rv.setStatusCode(HttpStatus.MOVED_PERMANENTLY);
MockHttpServletRequest request = new MockHttpServletRequest();
MockHttpServletResponse response = new MockHttpServletResponse();
rv.render(new HashMap<String, Object>(), request, response);
assertEquals(201, response.getStatus());
assertEquals(301, response.getStatus());
assertEquals("http://url.somewhere.com", response.getHeader("Location"));
}
@Test
public void attributeStatusCode() throws Exception {
public void explicitStatusCodeHttp10() throws Exception {
RedirectView rv = new RedirectView();
rv.setUrl("http://url.somewhere.com");
rv.setStatusCode(HttpStatus.MOVED_PERMANENTLY);
MockHttpServletRequest request = new MockHttpServletRequest();
MockHttpServletResponse response = new MockHttpServletResponse();
rv.render(new HashMap<String, Object>(), request, response);
assertEquals(301, response.getStatus());
assertEquals("http://url.somewhere.com", response.getHeader("Location"));
}
@Test
public void attributeStatusCodeHttp11() throws Exception {
RedirectView rv = new RedirectView();
rv.setUrl("http://url.somewhere.com");
rv.setHttp10Compatible(false);