1   package com.atlassian.core.filters.encoding;
2   
3   import junit.framework.TestCase;
4   import com.atlassian.core.filters.StubEncodingFilter;
5   import com.atlassian.core.filters.ServletStubs;
6   
7   import javax.servlet.FilterChain;
8   import javax.servlet.ServletRequest;
9   import javax.servlet.ServletResponse;
10  
11  /**
12   * You might be looking for the test for the old class, this one tests the new simplified filter.
13   *
14   * @see com.atlassian.core.filters.TestAbstractEncodingFilter
15   */
16  public class TestAbstractEncodingFilter extends TestCase
17  {
18      public void testDefaultContentTypeAndEncodingAreSet() throws Exception
19      {
20          ServletStubs.Request request = ServletStubs.getRequestInstance();
21          ServletStubs.Response response = ServletStubs.getResponseInstance();
22  
23          StubEncodingFilter encodingFilter = new StubEncodingFilter();
24          encodingFilter.setEncoding("UTF-8");
25          encodingFilter.setContentType("text/plain");
26          encodingFilter.doFilter(request, response, new FilterChain() {
27              public void doFilter(ServletRequest request, ServletResponse response)
28              {
29                  assertEquals(FixedHtmlEncodingResponseWrapper.class, response.getClass());
30              }
31          });
32  
33          assertEquals("UTF-8", request.getCharacterEncoding());
34          assertEquals("text/plain", response.getContentType());
35      }
36  }