Bypass testFormatMethods if device is not using en_US resource.
Change-Id: I915e80cbca27eef563a7242b71a164be9ed90401
diff --git a/tests/src/android/text/format/cts/LocaleUtils.java b/tests/src/android/text/format/cts/LocaleUtils.java
index d6001c4..131d745 100644
--- a/tests/src/android/text/format/cts/LocaleUtils.java
+++ b/tests/src/android/text/format/cts/LocaleUtils.java
@@ -22,14 +22,10 @@
public class LocaleUtils {
- /** Return whether or not the specified locale is available on the system. */
- public static boolean isSupportedLocale(Context context, Locale locale) {
- String[] locales = context.getAssets().getLocales();
- for (String availableLocale : locales) {
- if (locale.toString().equals(availableLocale)) {
- return true;
- }
- }
- return false;
+ /** Return whether or not the given locale is the device's current locale. */
+ public static boolean isCurrentLocale(Context context, Locale locale) {
+ // TODO: Change the locale on the device using public API if it becomes available.
+ Locale currentLocale = context.getResources().getConfiguration().locale;
+ return locale.equals(currentLocale);
}
}
diff --git a/tests/tests/text/src/android/text/format/cts/DateUtilsTest.java b/tests/tests/text/src/android/text/format/cts/DateUtilsTest.java
index a5dd335..6d034b9 100644
--- a/tests/tests/text/src/android/text/format/cts/DateUtilsTest.java
+++ b/tests/tests/text/src/android/text/format/cts/DateUtilsTest.java
@@ -37,7 +37,6 @@
private static final long HOUR_DURATION = 2 * 60 * 60 * 1000;
private static final long DAY_DURATION = 5 * 24 * 60 * 60 * 1000;
private long mBaseTime;
- private Locale mDefaultLocale;
private Context mContext;
@Override
@@ -45,18 +44,6 @@
super.setUp();
mContext = getContext();
mBaseTime = System.currentTimeMillis();
- mDefaultLocale = Locale.getDefault();
- if (!mDefaultLocale.equals(Locale.US)) {
- Locale.setDefault(Locale.US);
- }
- }
-
- @Override
- protected void tearDown() throws Exception {
- if (!Locale.getDefault().equals(mDefaultLocale)) {
- Locale.setDefault(mDefaultLocale);
- }
- super.tearDown();
}
@TestTargetNew(
@@ -65,6 +52,10 @@
args = {int.class, int.class}
)
public void testGetDayOfWeekString() {
+ if (!LocaleUtils.isCurrentLocale(mContext, Locale.US)) {
+ return;
+ }
+
assertEquals("Sunday",
DateUtils.getDayOfWeekString(Calendar.SUNDAY, DateUtils.LENGTH_LONG));
assertEquals("Sun",
@@ -86,6 +77,9 @@
args = {int.class, int.class}
)
public void testGetMonthString() {
+ if (!LocaleUtils.isCurrentLocale(mContext, Locale.US)) {
+ return;
+ }
assertEquals("January", DateUtils.getMonthString(Calendar.JANUARY, DateUtils.LENGTH_LONG));
assertEquals("Jan",
DateUtils.getMonthString(Calendar.JANUARY, DateUtils.LENGTH_MEDIUM));
@@ -104,6 +98,9 @@
args = {int.class}
)
public void testGetAMPMString() {
+ if (!LocaleUtils.isCurrentLocale(mContext, Locale.US)) {
+ return;
+ }
assertEquals("am", DateUtils.getAMPMString(Calendar.AM));
assertEquals("pm", DateUtils.getAMPMString(Calendar.PM));
}
@@ -142,6 +139,9 @@
})
public void testGetSpanString() {
+ if (!LocaleUtils.isCurrentLocale(mContext, Locale.US)) {
+ return;
+ }
assertEquals("0 minutes ago",
DateUtils.getRelativeTimeSpanString(mBaseTime - MIN_DURATION).toString());
assertEquals("in 0 minutes",
@@ -198,8 +198,7 @@
})
@SuppressWarnings("deprecation")
public void testFormatMethods() {
- if (!LocaleUtils.isSupportedLocale(mContext, Locale.US)) {
- // Locale is set to US in setUp method.
+ if (!LocaleUtils.isCurrentLocale(mContext, Locale.US)) {
return;
}