1 16 17 package org.springframework.web.servlet.i18n; 18 19 import java.util.Locale ; 20 21 import junit.framework.TestCase; 22 23 import org.springframework.mock.web.MockHttpServletRequest; 24 import org.springframework.mock.web.MockHttpServletResponse; 25 import org.springframework.mock.web.MockServletContext; 26 import org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver; 27 import org.springframework.web.servlet.i18n.CookieLocaleResolver; 28 import org.springframework.web.servlet.i18n.SessionLocaleResolver; 29 import org.springframework.web.servlet.LocaleResolver; 30 31 35 public class LocaleResolverTests extends TestCase { 36 37 private void internalTest(LocaleResolver localeResolver, boolean shouldSet) { 38 MockServletContext context = new MockServletContext(); 40 MockHttpServletRequest request = new MockHttpServletRequest(context); 41 request.addPreferredLocale(Locale.UK); 42 MockHttpServletResponse response = new MockHttpServletResponse(); 43 Locale locale = localeResolver.resolveLocale(request); 45 assertEquals(locale, Locale.UK); 46 try { 48 localeResolver.setLocale(request, response, Locale.GERMANY); 49 if (!shouldSet) 50 fail("should not be able to set Locale"); 51 locale = localeResolver.resolveLocale(request); 53 assertEquals(locale, Locale.GERMANY); 54 } catch (IllegalArgumentException ex) { 55 if (shouldSet) 56 fail("should be able to set Locale"); 57 } 58 } 59 60 public void testAcceptHeaderLocaleResolver() { 61 internalTest(new AcceptHeaderLocaleResolver(), false); 62 } 63 64 public void testCookieLocaleResolver() { 65 internalTest(new CookieLocaleResolver(), true); 66 } 67 68 public void testSessionLocaleResolver() { 69 internalTest(new SessionLocaleResolver(), true); 70 } 71 72 } 73 | Popular Tags |