You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by dd...@apache.org on 2015/11/29 12:59:08 UTC
[04/25] incubator-freemarker git commit: Continued FREEMARKER-1
"Option to not to overwrite response ContentType in FreemarkerServlet": More
tests
Continued FREEMARKER-1 "Option to not to overwrite response ContentType in FreemarkerServlet": More tests
Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/64ec04bf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/64ec04bf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/64ec04bf
Branch: refs/heads/2.3
Commit: 64ec04bf8d53a260905a174876bba434d2a13eaf
Parents: fe08488
Author: ddekany <dd...@apache.org>
Authored: Sat Oct 17 19:28:01 2015 +0200
Committer: ddekany <dd...@apache.org>
Committed: Sat Oct 17 19:28:01 2015 +0200
----------------------------------------------------------------------
.../ext/servlet/FreemarkerServletTest.java | 112 ++++++++++++++-----
1 file changed, 83 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/64ec04bf/src/test/java/freemarker/ext/servlet/FreemarkerServletTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/freemarker/ext/servlet/FreemarkerServletTest.java b/src/test/java/freemarker/ext/servlet/FreemarkerServletTest.java
index bf2ef8a..20ac78d 100644
--- a/src/test/java/freemarker/ext/servlet/FreemarkerServletTest.java
+++ b/src/test/java/freemarker/ext/servlet/FreemarkerServletTest.java
@@ -26,13 +26,13 @@ import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
-import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.mock.web.MockServletConfig;
import org.springframework.mock.web.MockServletContext;
+import org.springframework.util.Assert;
import freemarker.log.Logger;
@@ -42,49 +42,50 @@ public class FreemarkerServletTest {
private static final String TEST_TEMPLATE_PATH = "classpath:freemarker/ext/servlet";
- private FreemarkerServlet freemarkerServlet;
-
private MockServletContext servletContext;
- private MockServletConfig servletConfig;
@Before
public void setUp() throws ServletException, IOException {
servletContext = new MockServletContext();
servletContext.setContextPath("/");
+ }
- servletConfig = new MockServletConfig(servletContext);
- servletConfig.addInitParameter(FreemarkerServlet.INIT_PARAM_TEMPLATE_PATH, TEST_TEMPLATE_PATH);
+ @Test
+ public void testContentTypeInitParams_withNoResponseContentType_DefaultOverriding() throws ServletException, IOException {
+ MockHttpServletRequest request = createMockHttpServletRequest(servletContext, "/foo.ftl");
+ MockHttpServletResponse response = new MockHttpServletResponse();
+ assertNull(response.getContentType());
- freemarkerServlet = new FreemarkerServlet();
- freemarkerServlet.init(servletConfig);
- }
+ createFreemarkerServlet().doGet(request, response);
+ LOG.debug("response content: " + response.getContentAsString());
- @After
- public void tearDown() {
- freemarkerServlet.destroy();
+ assertEquals(HttpServletResponse.SC_OK, response.getStatus());
+ assertTrue(response.getContentType().contains(FreemarkerServlet.DEFAULT_CONTENT_TYPE));
}
@Test
- public void testContentTypeInitParams_withNoResponseContentType_ByDefault() throws ServletException, IOException {
+ public void testContentTypeInitParams_withNoResponseContentType_DefaultOverriding2() throws ServletException, IOException {
MockHttpServletRequest request = createMockHttpServletRequest(servletContext, "/foo.ftl");
MockHttpServletResponse response = new MockHttpServletResponse();
assertNull(response.getContentType());
- freemarkerServlet.doGet(request, response);
+ createFreemarkerServlet(
+ FreemarkerServlet.INIT_PARAM_CONTENT_TYPE, "text/css")
+ .doGet(request, response);
LOG.debug("response content: " + response.getContentAsString());
assertEquals(HttpServletResponse.SC_OK, response.getStatus());
- assertTrue(response.getContentType().contains(FreemarkerServlet.DEFAULT_CONTENT_TYPE));
+ assertTrue(response.getContentType().contains("text/css"));
}
@Test
- public void testContentTypeInitParams_withResponseContentType_ByDefault() throws ServletException, IOException {
+ public void testContentTypeInitParams_withResponseContentType_DefaultOverriding() throws ServletException, IOException {
MockHttpServletRequest request = createMockHttpServletRequest(servletContext, "/foo.ftl");
MockHttpServletResponse response = new MockHttpServletResponse();
response.setContentType("application/json");
assertEquals("application/json", response.getContentType());
- freemarkerServlet.doGet(request, response);
+ createFreemarkerServlet().doGet(request, response);
LOG.debug("response content: " + response.getContentAsString());
assertEquals(HttpServletResponse.SC_OK, response.getStatus());
@@ -92,42 +93,94 @@ public class FreemarkerServletTest {
}
@Test
- public void testContentTypeInitParams_withResponseContentType_NoOverriding() throws ServletException, IOException {
- servletConfig.addInitParameter(FreemarkerServlet.INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE, "false");
- freemarkerServlet = new FreemarkerServlet();
- freemarkerServlet.init(servletConfig);
+ public void testContentTypeInitParams_withResponseContentType_DefaultOverriding2() throws ServletException, IOException {
+ MockHttpServletRequest request = createMockHttpServletRequest(servletContext, "/foo.ftl");
+ MockHttpServletResponse response = new MockHttpServletResponse();
+ response.setContentType("application/json");
+ assertEquals("application/json", response.getContentType());
+ createFreemarkerServlet(
+ FreemarkerServlet.INIT_PARAM_CONTENT_TYPE, "text/css")
+ .doGet(request, response);
+ LOG.debug("response content: " + response.getContentAsString());
+
+ assertEquals(HttpServletResponse.SC_OK, response.getStatus());
+ assertTrue(response.getContentType().contains("text/css"));
+ }
+
+ @Test
+ public void testContentTypeInitParams_withResponseContentType_NoOverriding() throws ServletException, IOException {
MockHttpServletRequest request = createMockHttpServletRequest(servletContext, "/foo.ftl");
MockHttpServletResponse response = new MockHttpServletResponse();
response.setContentType("application/json");
assertEquals("application/json", response.getContentType());
- freemarkerServlet.doGet(request, response);
+ createFreemarkerServlet(FreemarkerServlet.INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE, "false")
+ .doGet(request, response);
LOG.debug("response content: " + response.getContentAsString());
assertEquals(HttpServletResponse.SC_OK, response.getStatus());
assertEquals("application/json", response.getContentType());
+ }
+
+ @Test
+ public void testContentTypeInitParams_withResponseContentType_NoOverriding2() throws ServletException, IOException {
+ MockHttpServletRequest request = createMockHttpServletRequest(servletContext, "/foo.ftl");
+ MockHttpServletResponse response = new MockHttpServletResponse();
+ response.setContentType("application/json");
+ assertEquals("application/json", response.getContentType());
- freemarkerServlet.destroy();
+ createFreemarkerServlet(
+ FreemarkerServlet.INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE, "false",
+ FreemarkerServlet.INIT_PARAM_CONTENT_TYPE, "text/css")
+ .doGet(request, response);
+ LOG.debug("response content: " + response.getContentAsString());
+
+ assertEquals(HttpServletResponse.SC_OK, response.getStatus());
+ assertEquals("application/json", response.getContentType());
}
@Test
public void testContentTypeInitParams_withNoResponseContentType_NoOverriding() throws ServletException, IOException {
- servletConfig.addInitParameter(FreemarkerServlet.INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE, "false");
- freemarkerServlet = new FreemarkerServlet();
- freemarkerServlet.init(servletConfig);
-
MockHttpServletRequest request = createMockHttpServletRequest(servletContext, "/foo.ftl");
MockHttpServletResponse response = new MockHttpServletResponse();
assertNull(response.getContentType());
- freemarkerServlet.doGet(request, response);
+ createFreemarkerServlet(FreemarkerServlet.INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE, "false")
+ .doGet(request, response);
LOG.debug("response content: " + response.getContentAsString());
assertEquals(HttpServletResponse.SC_OK, response.getStatus());
assertTrue(response.getContentType().contains(FreemarkerServlet.DEFAULT_CONTENT_TYPE));
+ }
+
+ @Test
+ public void testContentTypeInitParams_withNoResponseContentType_NoOverriding2() throws ServletException, IOException {
+ MockHttpServletRequest request = createMockHttpServletRequest(servletContext, "/foo.ftl");
+ MockHttpServletResponse response = new MockHttpServletResponse();
+ assertNull(response.getContentType());
- freemarkerServlet.destroy();
+ createFreemarkerServlet(
+ FreemarkerServlet.INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE, "false",
+ FreemarkerServlet.INIT_PARAM_CONTENT_TYPE, "text/css")
+ .doGet(request, response);
+ LOG.debug("response content: " + response.getContentAsString());
+
+ assertEquals(HttpServletResponse.SC_OK, response.getStatus());
+ assertTrue(response.getContentType().contains("text/css"));
+ }
+
+ private FreemarkerServlet createFreemarkerServlet(String... initParams) throws ServletException {
+ MockServletConfig servletConfig = new MockServletConfig(servletContext);
+ servletConfig.addInitParameter(FreemarkerServlet.INIT_PARAM_TEMPLATE_PATH, TEST_TEMPLATE_PATH);
+ Assert.isTrue(initParams.length % 2 == 0);
+ for (int i = 0; i < initParams.length; i += 2) {
+ servletConfig.addInitParameter(initParams[i], initParams[i + 1]);
+ }
+
+ FreemarkerServlet freemarkerServlet = new FreemarkerServlet();
+ freemarkerServlet.init(servletConfig);
+ return freemarkerServlet;
}
private MockHttpServletRequest createMockHttpServletRequest(final ServletContext servletContext,
@@ -140,4 +193,5 @@ public class FreemarkerServletTest {
servletRequest.setPathInfo(pathInfo);
return servletRequest;
}
+
}
\ No newline at end of file