LocaleUtilsTest.java 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. package com.ruoyi.common.utils;
  2. import org.junit.jupiter.api.Test;
  3. import org.junit.jupiter.params.ParameterizedTest;
  4. import org.junit.jupiter.params.provider.CsvSource;
  5. import java.util.Locale;
  6. import static org.junit.jupiter.api.Assertions.assertEquals;
  7. class LocaleUtilsTest {
  8. @ParameterizedTest
  9. @CsvSource({
  10. "zh_CN,zh,CN", "zh-CN,zh,CN", "zh,zh,CN",
  11. "zh_TW,zh,TW", "zh-TW,zh,TW", "tw,zh,TW",
  12. "en_US,en,US", "en-US,en,US", "en,en,US",
  13. "vi_VN,vi,VN", "vi-VN,vi,VN", "vi,vi,VN",
  14. "th_TH,th,TH", "th-TH,th,TH", "th,th,TH"
  15. })
  16. void parsesSupportedLanguageAliases(String input, String language, String country) {
  17. assertEquals(new Locale(language, country), LocaleUtils.parseLocale(input));
  18. }
  19. @Test
  20. void fallsBackToTraditionalChineseForMissingOrUnknownLanguage() {
  21. Locale expected = new Locale("zh", "TW");
  22. assertEquals(expected, LocaleUtils.parseLocale(null));
  23. assertEquals(expected, LocaleUtils.parseLocale(" "));
  24. assertEquals(expected, LocaleUtils.parseLocale("fr-FR"));
  25. }
  26. }