⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 localefiltertest.java

📁 基于Maven的质量保证自动化环境配置和演示程序
💻 JAVA
字号:
package com.cib.webapp.filter;import java.util.Locale;import javax.servlet.jsp.jstl.core.Config;import junit.framework.TestCase;import com.cib.Constants;import org.springframework.context.i18n.LocaleContextHolder;import org.springframework.mock.web.MockFilterConfig;import org.springframework.mock.web.MockHttpServletRequest;import org.springframework.mock.web.MockHttpServletResponse;import org.springframework.mock.web.MockHttpSession;public class LocaleFilterTest extends TestCase {    private LocaleFilter filter = null;        protected void setUp() throws Exception {        filter = new LocaleFilter();        filter.init(new MockFilterConfig());    }        public void testSetLocaleInSessionWhenSessionIsNull() throws Exception {        MockHttpServletRequest request = new MockHttpServletRequest();        request.addParameter("locale", "es");        MockHttpServletResponse response = new MockHttpServletResponse();        filter.doFilter(request, response, new MockFilterChain());                // no session, should result in null        assertNull(request.getSession().getAttribute(Constants.PREFERRED_LOCALE_KEY));        // thread locale should always have it, regardless of session        assertNotNull(LocaleContextHolder.getLocale());    }        public void testSetLocaleInSessionWhenSessionNotNull() throws Exception {        MockHttpServletRequest request = new MockHttpServletRequest();        request.addParameter("locale", "es");        MockHttpServletResponse response = new MockHttpServletResponse();        request.setSession(new MockHttpSession(null));                filter.doFilter(request, response, new MockFilterChain());                // session not null, should result in not null        Locale locale = (Locale) request.getSession().getAttribute(Constants.PREFERRED_LOCALE_KEY);        assertNotNull(locale);        assertNotNull(LocaleContextHolder.getLocale());        assertEquals(new Locale("es"), locale);    }        public void testSetInvalidLocale() throws Exception {        MockHttpServletRequest request = new MockHttpServletRequest();        request.addParameter("locale", "foo");        MockHttpServletResponse response = new MockHttpServletResponse();        request.setSession(new MockHttpSession(null));                filter.doFilter(request, response, new MockFilterChain());                // a locale will get set regardless - there's no such thing as an invalid one        assertNotNull(request.getSession().getAttribute(Constants.PREFERRED_LOCALE_KEY));    }        public void testJstlLocaleIsSet() throws Exception {        MockHttpServletRequest request = new MockHttpServletRequest();        request.addParameter("locale", "es");        MockHttpServletResponse response = new MockHttpServletResponse();        request.setSession(new MockHttpSession(null));                filter.doFilter(request, response, new MockFilterChain());                assertNotNull(Config.get(request.getSession(), Config.FMT_LOCALE));    }    public void testLocaleAndCountry() throws Exception {        MockHttpServletRequest request = new MockHttpServletRequest();        request.setSession(new MockHttpSession());        request.addParameter("locale", "zh_TW");        MockHttpServletResponse response = new MockHttpServletResponse();        filter.doFilter(request, response, new MockFilterChain());        // session not null, should result in not null        Locale locale = (Locale) request.getSession().getAttribute(Constants.PREFERRED_LOCALE_KEY);        assertNotNull(locale);        assertEquals(new Locale("zh", "TW"), locale);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -