summaryrefslogtreecommitdiffstats
path: root/text
diff options
context:
space:
mode:
authorBrett Chabot <brettchabot@android.com>2009-12-22 14:10:16 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2009-12-22 14:10:16 -0800
commita0f38182a8fb81a6ae34372895e7a8a421f66fa1 (patch)
treedc705dfb0dcd43af9b6dbe02398193b1cdccc7bb /text
parent5993a7de9253a34571da6483c4b3bc4ad30a7858 (diff)
parent7f16f3436c2104ef445815ea6b0f9a2e85bddd1d (diff)
downloadlibcore-a0f38182a8fb81a6ae34372895e7a8a421f66fa1.zip
libcore-a0f38182a8fb81a6ae34372895e7a8a421f66fa1.tar.gz
libcore-a0f38182a8fb81a6ae34372895e7a8a421f66fa1.tar.bz2
am d3b06457: am 6cdbef55: Merge change I1d9b205f into eclair
Merge commit 'd3b0645772fd3364575b93c74428ae19f88c4238' * commit 'd3b0645772fd3364575b93c74428ae19f88c4238': Skip locale dependent libcore tests if required locales are not present.
Diffstat (limited to 'text')
-rw-r--r--text/src/test/java/org/apache/harmony/text/tests/java/text/DateFormatTest.java4
-rw-r--r--text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatSymbolsTest.java21
-rw-r--r--text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatTest.java6
-rw-r--r--text/src/test/java/org/apache/harmony/text/tests/java/text/NumberFormatTest.java158
4 files changed, 128 insertions, 61 deletions
diff --git a/text/src/test/java/org/apache/harmony/text/tests/java/text/DateFormatTest.java b/text/src/test/java/org/apache/harmony/text/tests/java/text/DateFormatTest.java
index e636a07..bf7376a 100644
--- a/text/src/test/java/org/apache/harmony/text/tests/java/text/DateFormatTest.java
+++ b/text/src/test/java/org/apache/harmony/text/tests/java/text/DateFormatTest.java
@@ -16,7 +16,6 @@
*/
package org.apache.harmony.text.tests.java.text;
-import dalvik.annotation.KnownFailure;
import dalvik.annotation.TestTargets;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetNew;
@@ -196,7 +195,8 @@ public class DateFormatTest extends junit.framework.TestCase {
assertTrue("Doesn't work",
f1.format(new Date()).getClass() == String.class);
}
- assertTrue("Missing locales", english && german);
+ // TODO: currently, it is not mandatory to have both English and German locales bug 1943269
+ // assertTrue("Missing locales", english && german);
}
/**
diff --git a/text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatSymbolsTest.java b/text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatSymbolsTest.java
index e1debbb..b92e37b 100644
--- a/text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatSymbolsTest.java
+++ b/text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatSymbolsTest.java
@@ -17,6 +17,7 @@
package org.apache.harmony.text.tests.java.text;
+import tests.support.Support_Locale;
import dalvik.annotation.AndroidOnly;
import dalvik.annotation.KnownFailure;
import dalvik.annotation.TestLevel;
@@ -147,6 +148,15 @@ public class DecimalFormatSymbolsTest extends TestCase {
args = {}
)
public void test_getCurrency() {
+ Locale csCzLocale = new Locale("cs", "CZ");
+ Locale czLocale = new Locale("", "CZ");
+ Locale csLocale = new Locale("cs", "");
+ Locale deLocale = new Locale("de", "AT");
+ Locale[] requiredLocales = {Locale.US, csCzLocale, czLocale, csLocale, deLocale};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
Currency currency = Currency.getInstance("USD");
assertEquals("Returned incorrect currency",
dfsUS.getCurrency(), currency);
@@ -158,8 +168,8 @@ public class DecimalFormatSymbolsTest extends TestCase {
Currency currE = Currency.getInstance("EUR");
// Currency currF = Currency.getInstance("FRF");
- DecimalFormatSymbols dfs1 = new DecimalFormatSymbols(new Locale("cs",
- "CZ"));
+
+ DecimalFormatSymbols dfs1 = new DecimalFormatSymbols(csCzLocale);
assertTrue("Test1: Returned incorrect currency",
dfs1.getCurrency() == currC);
assertEquals("Test1: Returned incorrect currencySymbol", "K\u010d", dfs1
@@ -167,7 +177,8 @@ public class DecimalFormatSymbolsTest extends TestCase {
assertEquals("Test1: Returned incorrect intlCurrencySymbol", "CZK",
dfs1.getInternationalCurrencySymbol());
- dfs1 = new DecimalFormatSymbols(new Locale("", "CZ"));
+
+ dfs1 = new DecimalFormatSymbols(czLocale);
assertTrue("Test2: Returned incorrect currency",
dfs1.getCurrency() == currC);
// BEGIN android-changed
@@ -178,7 +189,7 @@ public class DecimalFormatSymbolsTest extends TestCase {
assertEquals("Test2: Returned incorrect intlCurrencySymbol", "CZK",
dfs1.getInternationalCurrencySymbol());
- dfs1 = new DecimalFormatSymbols(new Locale("cs", ""));
+ dfs1 = new DecimalFormatSymbols(csLocale);
assertEquals("Test3: Returned incorrect currency",
currX, dfs1.getCurrency());
assertEquals("Test3: Returned incorrect currencySymbol", "\u00a4", dfs1
@@ -186,7 +197,7 @@ public class DecimalFormatSymbolsTest extends TestCase {
assertEquals("Test3: Returned incorrect intlCurrencySymbol", "XXX",
dfs1.getInternationalCurrencySymbol());
- dfs1 = new DecimalFormatSymbols(new Locale("de", "AT"));
+ dfs1 = new DecimalFormatSymbols(deLocale);
assertTrue("Test4: Returned incorrect currency",
dfs1.getCurrency() == currE);
assertEquals("Test4: Returned incorrect currencySymbol", "\u20ac", dfs1
diff --git a/text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatTest.java b/text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatTest.java
index edab40b..2bd9260 100644
--- a/text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatTest.java
+++ b/text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatTest.java
@@ -29,6 +29,7 @@ import junit.framework.TestCase;
import tests.support.Support_BitSet;
import tests.support.Support_DecimalFormat;
+import tests.support.Support_Locale;
import java.io.ObjectInputStream;
import java.io.IOException;
@@ -1831,6 +1832,11 @@ public class DecimalFormatTest extends TestCase {
args = {java.lang.Object.class}
)
public void test_formatToCharacterIteratorLjava_lang_Object() {
+ Locale[] requiredLocales = {Locale.US};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
try {
// Regression for HARMONY-466
diff --git a/text/src/test/java/org/apache/harmony/text/tests/java/text/NumberFormatTest.java b/text/src/test/java/org/apache/harmony/text/tests/java/text/NumberFormatTest.java
index d1246d3..7c4a319 100644
--- a/text/src/test/java/org/apache/harmony/text/tests/java/text/NumberFormatTest.java
+++ b/text/src/test/java/org/apache/harmony/text/tests/java/text/NumberFormatTest.java
@@ -1,13 +1,13 @@
-/*
+/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -16,12 +16,12 @@
*/
package org.apache.harmony.text.tests.java.text;
-import dalvik.annotation.KnownFailure;
import dalvik.annotation.TestTargets;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetNew;
import dalvik.annotation.TestTargetClass;
import dalvik.annotation.BrokenTest;
+import tests.support.Support_Locale;
import junit.framework.TestCase;
@@ -34,7 +34,7 @@ import java.text.ParsePosition;
import java.util.Currency;
import java.util.Locale;
-@TestTargetClass(NumberFormat.class)
+@TestTargetClass(NumberFormat.class)
public class NumberFormatTest extends TestCase {
/**
@@ -154,6 +154,12 @@ public class NumberFormatTest extends TestCase {
Locale chLocale = new Locale("de", "CH");
// END android-changed
+ Locale[] requiredLocales = {usLocale, chLocale};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
+
DecimalFormat format = (DecimalFormat) NumberFormat
.getIntegerInstance(usLocale);
assertEquals(
@@ -292,20 +298,20 @@ public class NumberFormatTest extends TestCase {
fail("Expected UnsupportedOperationException");
} catch (UnsupportedOperationException e) {
}
-
+
try {
NumberFormat.getInstance().setCurrency(null);
fail("NullPointerException was thrown.");
} catch(NullPointerException npe) {
- //expected
+ //expected
}
-
+
try {
NumberFormat.getIntegerInstance().setCurrency(null);
fail("NullPointerException was thrown.");
} catch(NullPointerException npe) {
- //expected
- }
+ //expected
+ }
}
/**
@@ -319,45 +325,50 @@ public class NumberFormatTest extends TestCase {
args = {java.lang.String.class, java.text.ParsePosition.class}
)
public void test_parseObjectLjava_lang_StringLjava_text_ParsePosition() {
+ Locale[] requiredLocales = {Locale.FRANCE};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
// regression test for HARMONY-1003
assertNull(NumberFormat.getInstance().parseObject("0",
new ParsePosition(-1)));
- parseObjectTest(NumberFormat.getInstance(), "123.123",
+ parseObjectTest(NumberFormat.getInstance(), "123.123",
new ParsePosition(1), new Double(23.123), 7, true);
-
- parseObjectTest(NumberFormat.getInstance(), "123.123abc123",
- new ParsePosition(3), new Double(0.123), 7, true);
-
- parseObjectTest(NumberFormat.getInstance(Locale.FRANCE),
- "asd123,123abc123",
- new ParsePosition(3), new Double(123.123), 10, true);
-
- parseObjectTest(NumberFormat.getInstance(Locale.FRANCE),
- "test test",
- new ParsePosition(0), null, 0, false);
-
- parseObjectTest(NumberFormat.getIntegerInstance(),
- "asd123.123abc123",
+
+ parseObjectTest(NumberFormat.getInstance(), "123.123abc123",
+ new ParsePosition(3), new Double(0.123), 7, true);
+
+ parseObjectTest(NumberFormat.getInstance(Locale.FRANCE),
+ "asd123,123abc123",
+ new ParsePosition(3), new Double(123.123), 10, true);
+
+ parseObjectTest(NumberFormat.getInstance(Locale.FRANCE),
+ "test test",
+ new ParsePosition(0), null, 0, false);
+
+ parseObjectTest(NumberFormat.getIntegerInstance(),
+ "asd123.123abc123",
new ParsePosition(3), new Long(123), 6, true);
-
- parseObjectTest(NumberFormat.getNumberInstance(),
- "$-123,123.123#",
+
+ parseObjectTest(NumberFormat.getNumberInstance(),
+ "$-123,123.123#",
new ParsePosition(1), new Double(-123123.123), 13, true);
- parseObjectTest(NumberFormat.getNumberInstance(),
- "$-123,123.123#",
- new ParsePosition(0), null, 0, false);
- parseObjectTest(NumberFormat.getNumberInstance(),
- "$-123,123.123#",
- new ParsePosition(13), null, 13, false);
- parseObjectTest(NumberFormat.getPercentInstance(),
- "%20.123#",
- new ParsePosition(0), new Double(20.123), 0, false);
- parseObjectTest(NumberFormat.getPercentInstance(),
- "%-200,123.123#",
- new ParsePosition(0), null, 0, false);
-
-
+ parseObjectTest(NumberFormat.getNumberInstance(),
+ "$-123,123.123#",
+ new ParsePosition(0), null, 0, false);
+ parseObjectTest(NumberFormat.getNumberInstance(),
+ "$-123,123.123#",
+ new ParsePosition(13), null, 13, false);
+ parseObjectTest(NumberFormat.getPercentInstance(),
+ "%20.123#",
+ new ParsePosition(0), new Double(20.123), 0, false);
+ parseObjectTest(NumberFormat.getPercentInstance(),
+ "%-200,123.123#",
+ new ParsePosition(0), null, 0, false);
+
+
// Regression for HARMONY-1685
try {
NumberFormat.getInstance().parseObject("test", null);
@@ -366,8 +377,8 @@ public class NumberFormatTest extends TestCase {
// expected
}
}
-
- void parseObjectTest(NumberFormat nf, String sourseStr, ParsePosition position,
+
+ void parseObjectTest(NumberFormat nf, String sourseStr, ParsePosition position,
Object resultObj, int outIndex, boolean isSuccess) {
int indexBefore = position.getIndex();
Object result = nf.parseObject(sourseStr, position);
@@ -451,11 +462,17 @@ public class NumberFormatTest extends TestCase {
args = {double.class}
)
public void test_formatLdouble() {
+ Locale deLocale = new Locale("de", "CH");
+ Locale[] requiredLocales = {Locale.US, deLocale};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
// BEGIN android-changed
NumberFormat nf1 = NumberFormat.getInstance(Locale.US);
// use de_CH instead
// NumberFormat nf2 = NumberFormat.getInstance(new Locale("ar", "AR"));
- NumberFormat nf2 = NumberFormat.getInstance(new Locale("de", "CH"));
+ NumberFormat nf2 = NumberFormat.getInstance(deLocale);
String out = nf1.format(1234567890.0123456789);
assertEquals("Wrong result for double : " + out, "1,234,567,890.012",
@@ -490,11 +507,17 @@ public class NumberFormatTest extends TestCase {
args = {long.class}
)
public void test_formatLlong() {
+ Locale deLocale = new Locale("de", "CH");
+ Locale[] requiredLocales = {Locale.US, deLocale};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
// BEGIN android-changed
NumberFormat nf1 = NumberFormat.getInstance(Locale.US);
// use de_CH instead
// NumberFormat nf2 = NumberFormat.getInstance(Locale.CANADA_FRENCH);
- NumberFormat nf2 = NumberFormat.getInstance(new Locale("de", "CH"));
+ NumberFormat nf2 = NumberFormat.getInstance(deLocale);
String out = nf1.format(Long.MAX_VALUE);
assertEquals("Wrong result for double : " + out,
@@ -594,6 +617,12 @@ public class NumberFormatTest extends TestCase {
// Locale mkLocale = new Locale("mk", "MK");
Locale atLocale = new Locale("de", "AT");
+ Locale[] requiredLocales = {usLocale, atLocale};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
+
NumberFormat format = NumberFormat.getCurrencyInstance(usLocale);
assertNotSame("Instance is null", null, format);
@@ -616,7 +645,7 @@ public class NumberFormatTest extends TestCase {
// use de_AT instead
// format = NumberFormat.getCurrencyInstance(mkLocale);
format = NumberFormat.getCurrencyInstance(atLocale);
-
+
assertEquals(
"Test5: NumberFormat.getCurrencyInstance(new Locale(\"de\", \"AT\")).format(35.76) returned wrong value",
"\u20ac 35,76", format.format(35.76));
@@ -689,11 +718,17 @@ public class NumberFormatTest extends TestCase {
args = {java.util.Locale.class}
)
public void test_getInstanceLjava_util_Locale() {
+ Locale testLocale = new Locale("de", "CH");
+ Locale[] requiredLocales = {Locale.US, testLocale};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
// BEGIN android-changed
Locale.setDefault(Locale.US);
// use de_CH instead
// NumberFormat format = NumberFormat.getInstance(new Locale("ar", "AR"));
- NumberFormat format = NumberFormat.getInstance(new Locale("de", "CH"));
+ NumberFormat format = NumberFormat.getInstance(testLocale);
assertNotSame("Instance is null", null, format);
assertTrue("Object is not instance of NumberFormat",
@@ -765,11 +800,16 @@ public class NumberFormatTest extends TestCase {
args = {java.util.Locale.class}
)
public void test_getNumberInstanceLjava_util_Locale() {
+ Locale deLocale = new Locale("de", "CH");
+ Locale[] requiredLocales = {Locale.US, deLocale};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
// BEGIN android-changed
Locale.setDefault(Locale.US);
// use de_CH instead
- NumberFormat format = NumberFormat.getNumberInstance(new Locale("de",
- "CH"));
+ NumberFormat format = NumberFormat.getNumberInstance(deLocale);
// NumberFormat format = NumberFormat.getNumberInstance(new Locale("ar",
// "AR"));
@@ -843,9 +883,14 @@ public class NumberFormatTest extends TestCase {
args = {java.util.Locale.class}
)
public void test_getPercentInstanceLjava_util_Locale() {
+ Locale csLocale = new Locale("cs", "CZ");
+ Locale[] requiredLocales = {Locale.US, csLocale};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
Locale.setDefault(Locale.US);
- NumberFormat format = NumberFormat.getPercentInstance(new Locale("cs",
- "CZ"));
+ NumberFormat format = NumberFormat.getPercentInstance(csLocale);
assertNotSame("Instance is null", null, format);
assertTrue("Object is not instance of NumberFormat",
@@ -1054,6 +1099,12 @@ public class NumberFormatTest extends TestCase {
args = {boolean.class}
)
public void test_setGroupingUsed() {
+ Locale csLocale = new Locale("cs", "CZ");
+ Locale[] requiredLocales = {Locale.US, csLocale};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
NumberFormat nf1 = NumberFormat.getInstance(Locale.US);
nf1.setGroupingUsed(false);
@@ -1079,8 +1130,7 @@ public class NumberFormatTest extends TestCase {
assertEquals("grouping is not used for -1234567890.1",
"-1,234,567,890.1", nf1.format(-1234567890.1));
- NumberFormat nf2 = NumberFormat.getPercentInstance(new Locale("cs",
- "CZ"));
+ NumberFormat nf2 = NumberFormat.getPercentInstance(csLocale);
nf2.setGroupingUsed(false);
assertEquals(
"Locale(\"cs\", \"CZ\"): grouping is used for 1234567890.1",