|
|
@@ -0,0 +1,40 @@
|
|
|
+package com.ruoyi.framework.config;
|
|
|
+
|
|
|
+import java.util.Locale;
|
|
|
+import org.junit.jupiter.api.Test;
|
|
|
+import org.springframework.mock.web.MockHttpServletRequest;
|
|
|
+import org.springframework.mock.web.MockHttpServletResponse;
|
|
|
+import org.springframework.web.servlet.DispatcherServlet;
|
|
|
+import org.springframework.web.servlet.LocaleResolver;
|
|
|
+import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
|
|
|
+
|
|
|
+import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
+
|
|
|
+class BackendI18nConfigTest
|
|
|
+{
|
|
|
+ @Test
|
|
|
+ void defaultsToTraditionalChinese()
|
|
|
+ {
|
|
|
+ LocaleResolver resolver = new I18nConfig().localeResolver();
|
|
|
+
|
|
|
+ assertEquals(new Locale("zh", "TW"), resolver.resolveLocale(new MockHttpServletRequest()));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void switchesAllThaiAliasesThroughExistingLangParameter() throws Exception
|
|
|
+ {
|
|
|
+ for (String language : new String[] { "th_TH", "th-TH", "th" })
|
|
|
+ {
|
|
|
+ I18nConfig config = new I18nConfig();
|
|
|
+ LocaleResolver resolver = config.localeResolver();
|
|
|
+ LocaleChangeInterceptor interceptor = config.localeChangeInterceptor();
|
|
|
+ MockHttpServletRequest request = new MockHttpServletRequest();
|
|
|
+ request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, resolver);
|
|
|
+ request.setParameter("lang", language);
|
|
|
+
|
|
|
+ interceptor.preHandle(request, new MockHttpServletResponse(), new Object());
|
|
|
+
|
|
|
+ assertEquals(new Locale("th", "TH"), resolver.resolveLocale(request), language);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|