summaryrefslogtreecommitdiffstats
path: root/mobile/android/geckoview/src/test/java/org/mozilla/gecko/util/LocaleUtilsTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/geckoview/src/test/java/org/mozilla/gecko/util/LocaleUtilsTest.java')
-rw-r--r--mobile/android/geckoview/src/test/java/org/mozilla/gecko/util/LocaleUtilsTest.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/mobile/android/geckoview/src/test/java/org/mozilla/gecko/util/LocaleUtilsTest.java b/mobile/android/geckoview/src/test/java/org/mozilla/gecko/util/LocaleUtilsTest.java
new file mode 100644
index 0000000000..bc6dcc0ced
--- /dev/null
+++ b/mobile/android/geckoview/src/test/java/org/mozilla/gecko/util/LocaleUtilsTest.java
@@ -0,0 +1,47 @@
+/* Any copyright is dedicated to the Public Domain.
+http://creativecommons.org/publicdomain/zero/1.0/ */
+
+package org.mozilla.gecko.util;
+
+import static org.junit.Assert.*;
+
+import android.test.suitebuilder.annotation.SmallTest;
+import java.util.Locale;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+@SmallTest
+public class LocaleUtilsTest {
+ @Test
+ public void languageTagForAcceptLanguage() {
+ assertEquals(
+ LocaleUtils.getLanguageTagForAcceptLanguage(Locale.forLanguageTag("zn-Hans-CN")), "zn-CN");
+ assertEquals(
+ LocaleUtils.getLanguageTagForAcceptLanguage(Locale.forLanguageTag("zn-Hant-TW")), "zn-TW");
+
+ // If builder is Java 17+, Locale.getLanguage doesn't repelace with old language code.
+ // But we should keep this to make things understandable.
+ assertEquals(
+ LocaleUtils.getLanguageTagForAcceptLanguage(Locale.forLanguageTag("id-ID")), "id-ID");
+ assertEquals(
+ LocaleUtils.getLanguageTagForAcceptLanguage(Locale.forLanguageTag("in-ID")), "id-ID");
+
+ assertEquals(
+ LocaleUtils.getLanguageTagForAcceptLanguage(Locale.forLanguageTag("yi-US")), "yi-US");
+ assertEquals(
+ LocaleUtils.getLanguageTagForAcceptLanguage(Locale.forLanguageTag("ji-US")), "yi-US");
+
+ assertEquals(
+ LocaleUtils.getLanguageTagForAcceptLanguage(Locale.forLanguageTag("he-IL")), "he-IL");
+ assertEquals(
+ LocaleUtils.getLanguageTagForAcceptLanguage(Locale.forLanguageTag("iw-IL")), "he-IL");
+
+ // Android 14 may add extension (Bug 1873578)
+ assertEquals(
+ LocaleUtils.getLanguageTagForAcceptLanguage(
+ Locale.forLanguageTag("en-US-u-fw-mon-mu-celsius")),
+ "en-US");
+ }
+}