public void testFormRequest() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest(getServletContext(), "GET", "/form.do"); request.addPreferredLocale(Locale.CANADA); MockHttpServletResponse response = new MockHttpServletResponse(); simpleDispatcherServlet.service(request, response); assertTrue("forwarded to form", "form".equals(response.getForwardedUrl())); DefaultMessageSourceResolvable resolvable = new DefaultMessageSourceResolvable(new String[]{"test"}); RequestContext rc = new RequestContext(request); assertTrue("hasn't RequestContext attribute", request.getAttribute("rc") == null); assertTrue("Correct WebApplicationContext", RequestContextUtils.getWebApplicationContext(request) instanceof SimpleWebApplicationContext); assertTrue("Correct context path", rc.getContextPath().equals(request.getContextPath())); assertTrue("Correct locale", Locale.CANADA.equals(RequestContextUtils.getLocale(request))); assertTrue("Correct theme", AbstractThemeResolver.ORIGINAL_DEFAULT_THEME_NAME.equals( RequestContextUtils.getTheme(request).getName())); assertTrue("Correct message", "Canadian & test message".equals(rc.getMessage("test"))); assertTrue("Correct WebApplicationContext", rc.getWebApplicationContext() == simpleDispatcherServlet.getWebApplicationContext()); assertTrue("Correct Errors", !(rc.getErrors(BaseCommandController.DEFAULT_COMMAND_NAME) instanceof EscapedErrors)); assertTrue("Correct Errors", !(rc.getErrors(BaseCommandController.DEFAULT_COMMAND_NAME, false) instanceof EscapedErrors)); assertTrue("Correct Errors", rc.getErrors(BaseCommandController.DEFAULT_COMMAND_NAME, true) instanceof EscapedErrors); assertEquals("Correct message", "Canadian & test message", rc.getMessage("test")); assertEquals("Correct message", "Canadian & test message", rc.getMessage("test", null, false)); assertEquals("Correct message", "Canadian & test message", rc.getMessage("test", null, true)); assertEquals("Correct message", "Canadian & test message", rc.getMessage(resolvable)); assertEquals("Correct message", "Canadian & test message", rc.getMessage(resolvable, false)); assertEquals("Correct message", "Canadian & test message", rc.getMessage(resolvable, true)); assertEquals("Correct message", "Canadian & test message", rc.getMessage("test", "default")); assertEquals("Correct message", "default", rc.getMessage("testa", "default")); assertEquals("Correct message", "default &", rc.getMessage("testa", null, "default &", true)); }
public void testAnotherFormRequest() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest(getServletContext(), "GET", "/form.do;jsessionid=xxx"); request.addPreferredLocale(Locale.CANADA); MockHttpServletResponse response = new MockHttpServletResponse(); complexDispatcherServlet.service(request, response); assertTrue("forwarded to form", "myform.jsp".equals(response.getForwardedUrl())); assertTrue("has RequestContext attribute", request.getAttribute("rc") != null); DefaultMessageSourceResolvable resolvable = new DefaultMessageSourceResolvable(new String[]{"test"}); RequestContext rc = (RequestContext) request.getAttribute("rc"); assertTrue("Not in HTML escaping mode", !rc.isDefaultHtmlEscape()); assertTrue("Correct WebApplicationContext", rc.getWebApplicationContext() == complexDispatcherServlet.getWebApplicationContext()); assertTrue("Correct context path", rc.getContextPath().equals(request.getContextPath())); assertTrue("Correct locale", Locale.CANADA.equals(rc.getLocale())); assertTrue("Correct Errors", !(rc.getErrors(BaseCommandController.DEFAULT_COMMAND_NAME) instanceof EscapedErrors)); assertTrue("Correct Errors", !(rc.getErrors(BaseCommandController.DEFAULT_COMMAND_NAME, false) instanceof EscapedErrors)); assertTrue("Correct Errors", rc.getErrors(BaseCommandController.DEFAULT_COMMAND_NAME, true) instanceof EscapedErrors); assertEquals("Correct message", "Canadian & test message", rc.getMessage("test")); assertEquals("Correct message", "Canadian & test message", rc.getMessage("test", null, false)); assertEquals("Correct message", "Canadian & test message", rc.getMessage("test", null, true)); assertEquals("Correct message", "Canadian & test message", rc.getMessage(resolvable)); assertEquals("Correct message", "Canadian & test message", rc.getMessage(resolvable, false)); assertEquals("Correct message", "Canadian & test message", rc.getMessage(resolvable, true)); rc.setDefaultHtmlEscape(true); assertTrue("Is in HTML escaping mode", rc.isDefaultHtmlEscape()); assertTrue("Correct Errors", rc.getErrors(BaseCommandController.DEFAULT_COMMAND_NAME) instanceof EscapedErrors); assertTrue("Correct Errors", !(rc.getErrors(BaseCommandController.DEFAULT_COMMAND_NAME, false) instanceof EscapedErrors)); assertTrue("Correct Errors", rc.getErrors(BaseCommandController.DEFAULT_COMMAND_NAME, true) instanceof EscapedErrors); assertEquals("Correct message", "Canadian & test message", rc.getMessage("test")); assertEquals("Correct message", "Canadian & test message", rc.getMessage("test", null, false)); assertEquals("Correct message", "Canadian & test message", rc.getMessage("test", null, true)); assertEquals("Correct message", "Canadian & test message", rc.getMessage(resolvable)); assertEquals("Correct message", "Canadian & test message", rc.getMessage(resolvable, false)); assertEquals("Correct message", "Canadian & test message", rc.getMessage(resolvable, true)); }