summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNarayan Kamath <narayan@google.com>2015-02-10 15:44:09 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-02-10 15:44:09 +0000
commita9c24ad83f3cd18738268559169ba901b5f70232 (patch)
treec4a8477bd52c8e65584da3a74020e03d4df2e7cc
parentc512e722651ab516a01d84aacd93f264c09f5175 (diff)
parentb30abe5c17c260b4181a7eba63022b8dea841ae6 (diff)
downloadlibcore-a9c24ad83f3cd18738268559169ba901b5f70232.zip
libcore-a9c24ad83f3cd18738268559169ba901b5f70232.tar.gz
libcore-a9c24ad83f3cd18738268559169ba901b5f70232.tar.bz2
Merge "Fix LocaleTest#testDefaultLocale."
-rw-r--r--luni/src/main/java/java/lang/System.java14
-rw-r--r--luni/src/test/java/libcore/java/util/LocaleTest.java20
2 files changed, 18 insertions, 16 deletions
diff --git a/luni/src/main/java/java/lang/System.java b/luni/src/main/java/java/lang/System.java
index 471b35f..8e531c3 100644
--- a/luni/src/main/java/java/lang/System.java
+++ b/luni/src/main/java/java/lang/System.java
@@ -117,9 +117,9 @@ public final class System {
final String locale = getProperty("user.locale", "");
if (!locale.isEmpty()) {
Locale l = Locale.forLanguageTag(locale);
- initUnchangeableSystemProperty("user.language", l.getLanguage());
- initUnchangeableSystemProperty("user.region", l.getCountry());
- initUnchangeableSystemProperty("user.variant", l.getVariant());
+ setUnchangeableSystemProperty("user.language", l.getLanguage());
+ setUnchangeableSystemProperty("user.region", l.getCountry());
+ setUnchangeableSystemProperty("user.variant", l.getVariant());
} else {
// If "user.locale" isn't set we fall back to our old defaults of
// language="en" and region="US" (if unset) and don't attempt to set it.
@@ -129,11 +129,11 @@ public final class System {
final String region = getProperty("user.region", "");
if (language.isEmpty()) {
- initUnchangeableSystemProperty("user.language", "en");
+ setUnchangeableSystemProperty("user.language", "en");
}
if (region.isEmpty()) {
- initUnchangeableSystemProperty("user.region", "US");
+ setUnchangeableSystemProperty("user.region", "US");
}
}
}
@@ -809,8 +809,10 @@ public final class System {
*
* This is called from native code when the environment needs to change under native
* bridge emulation.
+ *
+ * @hide also visible for tests.
*/
- private static void initUnchangeableSystemProperty(String name, String value) {
+ public static void setUnchangeableSystemProperty(String name, String value) {
checkPropertyName(name);
unchangeableSystemProperties.put(name, value);
}
diff --git a/luni/src/test/java/libcore/java/util/LocaleTest.java b/luni/src/test/java/libcore/java/util/LocaleTest.java
index c6dd730..e1e84ab 100644
--- a/luni/src/test/java/libcore/java/util/LocaleTest.java
+++ b/luni/src/test/java/libcore/java/util/LocaleTest.java
@@ -1172,18 +1172,18 @@ public class LocaleTest extends junit.framework.TestCase {
final String userLocale = System.getProperty("user.locale", "");
try {
// Assert that user.locale gets priority.
- System.setProperty("user.locale", "de-DE");
- System.setProperty("user.language", "en");
- System.setProperty("user.region", "US");
+ System.setUnchangeableSystemProperty("user.locale", "de-DE");
+ System.setUnchangeableSystemProperty("user.language", "en");
+ System.setUnchangeableSystemProperty("user.region", "US");
Locale l = Locale.getDefaultLocaleFromSystemProperties();
assertEquals("de", l.getLanguage());
assertEquals("DE", l.getCountry());
// Assert that it's parsed as a full language tag.
- System.setProperty("user.locale", "de-Latn-DE");
- System.setProperty("user.language", "en");
- System.setProperty("user.region", "US");
+ System.setUnchangeableSystemProperty("user.locale", "de-Latn-DE");
+ System.setUnchangeableSystemProperty("user.language", "en");
+ System.setUnchangeableSystemProperty("user.region", "US");
l = Locale.getDefaultLocaleFromSystemProperties();
assertEquals("de", l.getLanguage());
@@ -1192,15 +1192,15 @@ public class LocaleTest extends junit.framework.TestCase {
// Assert that we use "und" if we're faced with a bad language tag, and
// that we don't end up with a null default locale or an exception.
- System.setProperty("user.locale", "dexx-Latn-DE");
+ System.setUnchangeableSystemProperty("user.locale", "dexx-Latn-DE");
l = Locale.getDefaultLocaleFromSystemProperties();
assertEquals("und", l.getLanguage());
assertEquals("DE", l.getCountry());
} finally {
- System.setProperty("user.language", userLanguage);
- System.setProperty("user.region", userRegion);
- System.setProperty("user.locale", userLocale);
+ System.setUnchangeableSystemProperty("user.language", userLanguage);
+ System.setUnchangeableSystemProperty("user.region", userRegion);
+ System.setUnchangeableSystemProperty("user.locale", userLocale);
}
}
}