diff options
| author | 2017-01-13 01:53:11 +0000 | |
|---|---|---|
| committer | 2017-01-13 01:53:15 +0000 | |
| commit | 383ac409df65269d5fff247a86fa6ac0d90d2863 (patch) | |
| tree | 8cd07920150caea3095bbc17830a20f08fd245e0 /libs/androidfw/tests | |
| parent | 423f949594386aeb0a38b5d79a6b71af63c3a83b (diff) | |
| parent | a192a8ced65ceea8bfe44f0eac6a394cbf80d936 (diff) | |
Merge "Treat Latin American locales specially"
Diffstat (limited to 'libs/androidfw/tests')
| -rw-r--r-- | libs/androidfw/tests/ConfigLocale_test.cpp | 67 |
1 files changed, 66 insertions, 1 deletions
diff --git a/libs/androidfw/tests/ConfigLocale_test.cpp b/libs/androidfw/tests/ConfigLocale_test.cpp index 6e998159e554..86a627e1485d 100644 --- a/libs/androidfw/tests/ConfigLocale_test.cpp +++ b/libs/androidfw/tests/ConfigLocale_test.cpp @@ -516,15 +516,80 @@ TEST(ConfigLocaleTest, isLocaleBetterThan_regionComparison) { EXPECT_FALSE(config2.isLocaleBetterThan(config1, &request)); fillIn("es", "AR", NULL, NULL, &request); + fillIn("es", "US", NULL, NULL, &config1); + fillIn("es", NULL, NULL, NULL, &config2); + // Special case for Latin American Spanish: es-MX and es-US are + // pseudo-parents of all Latin Ameircan Spanish locales. + EXPECT_TRUE(config1.isLocaleBetterThan(config2, &request)); + EXPECT_FALSE(config2.isLocaleBetterThan(config1, &request)); + + fillIn("es", "MX", NULL, NULL, &request); + fillIn("es", "US", NULL, NULL, &config1); + fillIn("es", NULL, NULL, NULL, &config2); + // Special case for Latin American Spanish: es-MX and es-US are + // pseudo-parents of all Latin Ameircan Spanish locales. + EXPECT_TRUE(config1.isLocaleBetterThan(config2, &request)); + EXPECT_FALSE(config2.isLocaleBetterThan(config1, &request)); + + fillIn("es", "AR", NULL, NULL, &request); + fillIn("es", "MX", NULL, NULL, &config1); + fillIn("es", NULL, NULL, NULL, &config2); + // Special case for Latin American Spanish: es-MX and es-US are + // pseudo-parents of all Latin Ameircan Spanish locales. + EXPECT_TRUE(config1.isLocaleBetterThan(config2, &request)); + EXPECT_FALSE(config2.isLocaleBetterThan(config1, &request)); + + fillIn("es", "US", NULL, NULL, &request); + fillIn("es", "MX", NULL, NULL, &config1); + fillIn("es", NULL, NULL, NULL, &config2); + // Special case for Latin American Spanish: es-MX and es-US are + // pseudo-parents of all Latin Ameircan Spanish locales. + EXPECT_TRUE(config1.isLocaleBetterThan(config2, &request)); + EXPECT_FALSE(config2.isLocaleBetterThan(config1, &request)); + + fillIn("es", "AR", NULL, NULL, &request); + fillIn("es", "419", NULL, NULL, &config1); + fillIn("es", "MX", NULL, NULL, &config2); + // Even though es-MX and es-US are pseudo-parents of all Latin Ameircan + // Spanish locales, es-419 is a closer parent. + EXPECT_TRUE(config1.isLocaleBetterThan(config2, &request)); + EXPECT_FALSE(config2.isLocaleBetterThan(config1, &request)); + + fillIn("es", "US", NULL, NULL, &request); + fillIn("es", "419", NULL, NULL, &config1); + fillIn("es", "MX", NULL, NULL, &config2); + // Even though es-MX and es-US are pseudo-parents of all Latin Ameircan + // Spanish locales, es-419 is a closer parent. + EXPECT_TRUE(config1.isLocaleBetterThan(config2, &request)); + EXPECT_FALSE(config2.isLocaleBetterThan(config1, &request)); + + fillIn("es", "MX", NULL, NULL, &request); + fillIn("es", "419", NULL, NULL, &config1); + fillIn("es", "US", NULL, NULL, &config2); + // Even though es-MX and es-US are pseudo-parents of all Latin Ameircan + // Spanish locales, es-419 is a closer parent. + EXPECT_TRUE(config1.isLocaleBetterThan(config2, &request)); + EXPECT_FALSE(config2.isLocaleBetterThan(config1, &request)); + + fillIn("es", "AR", NULL, NULL, &request); fillIn("es", "MX", NULL, NULL, &config1); fillIn("es", "BO", NULL, NULL, &config2); - // A representative locale is better if they are equidistant. + // Special case for Latin American Spanish: es-MX and es-US are + // pseudo-parents of all Latin Ameircan Spanish locales. EXPECT_TRUE(config1.isLocaleBetterThan(config2, &request)); EXPECT_FALSE(config2.isLocaleBetterThan(config1, &request)); fillIn("es", "AR", NULL, NULL, &request); fillIn("es", "US", NULL, NULL, &config1); fillIn("es", "BO", NULL, NULL, &config2); + // Special case for Latin American Spanish: es-MX and es-US are + // pseudo-parents of all Latin Ameircan Spanish locales. + EXPECT_TRUE(config1.isLocaleBetterThan(config2, &request)); + EXPECT_FALSE(config2.isLocaleBetterThan(config1, &request)); + + fillIn("es", "IC", NULL, NULL, &request); + fillIn("es", "ES", NULL, NULL, &config1); + fillIn("es", "GQ", NULL, NULL, &config2); // A representative locale is better if they are equidistant. EXPECT_TRUE(config1.isLocaleBetterThan(config2, &request)); EXPECT_FALSE(config2.isLocaleBetterThan(config1, &request)); |