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")); } }