|
|
@@ -0,0 +1,31 @@
|
|
|
+package com.ruoyi.common.utils;
|
|
|
+
|
|
|
+import org.junit.jupiter.api.Test;
|
|
|
+import org.junit.jupiter.params.ParameterizedTest;
|
|
|
+import org.junit.jupiter.params.provider.CsvSource;
|
|
|
+
|
|
|
+import java.util.Locale;
|
|
|
+
|
|
|
+import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
+
|
|
|
+class LocaleUtilsTest {
|
|
|
+ @ParameterizedTest
|
|
|
+ @CsvSource({
|
|
|
+ "zh_CN,zh,CN", "zh-CN,zh,CN", "zh,zh,CN",
|
|
|
+ "zh_TW,zh,TW", "zh-TW,zh,TW", "tw,zh,TW",
|
|
|
+ "en_US,en,US", "en-US,en,US", "en,en,US",
|
|
|
+ "vi_VN,vi,VN", "vi-VN,vi,VN", "vi,vi,VN",
|
|
|
+ "th_TH,th,TH", "th-TH,th,TH", "th,th,TH"
|
|
|
+ })
|
|
|
+ void parsesSupportedLanguageAliases(String input, String language, String country) {
|
|
|
+ assertEquals(new Locale(language, country), LocaleUtils.parseLocale(input));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void fallsBackToTraditionalChineseForMissingOrUnknownLanguage() {
|
|
|
+ Locale expected = new Locale("zh", "TW");
|
|
|
+ assertEquals(expected, LocaleUtils.parseLocale(null));
|
|
|
+ assertEquals(expected, LocaleUtils.parseLocale(" "));
|
|
|
+ assertEquals(expected, LocaleUtils.parseLocale("fr-FR"));
|
|
|
+ }
|
|
|
+}
|