import java.util.IllegalFormatException;
import java.util.Locale;
-import dalvik.annotation.KnownFailure;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetClass;
import dalvik.annotation.TestTargetNew;
+import tests.support.Support_Locale;
+
@TestTargetClass(PrintStream.class)
public class PrintStreamTest extends junit.framework.TestCase {
method = "format",
args = {java.util.Locale.class, java.lang.String.class, java.lang.Object[].class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_formatLjava_util_Locale_Ljava_lang_String_$Ljava_lang_Object() {
+ Locale[] requiredLocales = {Locale.US, Locale.GERMANY};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
PrintStream tobj;
tobj = new PrintStream(baos, false);
method = "printf",
args = {java.util.Locale.class, java.lang.String.class, java.lang.Object[].class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_printfLjava_util_Locale_Ljava_lang_String_$Ljava_lang_Object() {
+ Locale[] requiredLocales = {Locale.US, Locale.GERMANY};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
PrintStream tobj;
tobj = new PrintStream(baos, false);
import java.util.IllegalFormatException;
import java.util.Locale;
+import tests.support.Support_Locale;
import tests.support.Support_StringReader;
import tests.support.Support_StringWriter;
-import dalvik.annotation.KnownFailure;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetClass;
import dalvik.annotation.TestTargetNew;
method = "format",
args = {java.util.Locale.class, java.lang.String.class, java.lang.Object[].class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_formatLjava_util_Locale_Ljava_lang_String_$Ljava_lang_Object() {
+ Locale[] requiredLocales = {Locale.US, Locale.GERMANY};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
PrintWriter tobj;
tobj = new PrintWriter(baos, false);
method = "printf",
args = {java.util.Locale.class, java.lang.String.class, java.lang.Object[].class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_printfLjava_util_Locale_Ljava_lang_String_$Ljava_lang_Object() {
+ Locale[] requiredLocales = {Locale.US, Locale.GERMANY};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
PrintWriter tobj;
tobj = new PrintWriter(baos, false);
package tests.api.java.util;
-import dalvik.annotation.KnownFailure;
+import dalvik.annotation.TestLevel;
+import dalvik.annotation.TestTargetClass;
import dalvik.annotation.TestTargetNew;
import dalvik.annotation.TestTargets;
-import dalvik.annotation.TestLevel;
-import dalvik.annotation.TestTargetClass;
+import tests.support.Support_Locale;
import java.util.Calendar;
import java.util.Date;
args = {}
)
})
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_getFirstDayOfWeek() {
+ Locale[] requiredLocales = {Locale.US, Locale.FRANCE};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
Calendar cal = Calendar.getInstance();
assertEquals(Calendar.SUNDAY, cal.getFirstDayOfWeek());
method = "getInstance",
args = {java.util.Locale.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_getInstanceLjava_util_Locale() {
+ Locale[] requiredLocales = {Locale.US, Locale.FRANCE};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
Calendar cal1 = Calendar.getInstance(Locale.FRANCE);
Locale.setDefault(Locale.FRANCE);
Calendar cal2 = Calendar.getInstance();
method = "getInstance",
args = {java.util.TimeZone.class, java.util.Locale.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_getInstanceLjava_util_TimeZoneLjava_util_Locale() {
+ Locale[] requiredLocales = {Locale.US, Locale.FRANCE};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
Calendar cal1 = Calendar.getInstance(TimeZone.getTimeZone("GMT-6"), Locale.FRANCE);
Locale.setDefault(Locale.FRANCE);
Calendar cal2 = Calendar.getInstance(TimeZone.getTimeZone("GMT+1"));
method = "getMinimalDaysInFirstWeek",
args = {}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_getMinimalDaysInFirstWeek() {
+ Locale[] requiredLocales = {Locale.US, Locale.FRANCE};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
Calendar cal = Calendar.getInstance();
assertTrue(cal.getMinimalDaysInFirstWeek()==1);
Locale.setDefault(Locale.FRANCE);
method = "hashCode",
args = {}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_hashCode() {
+ Locale[] requiredLocales = {Locale.US, Locale.FRANCE};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
Calendar cal1 = Calendar.getInstance();
Locale.setDefault(Locale.FRANCE);
Calendar cal2 = Calendar.getInstance();
package tests.api.java.util;
+import tests.support.Support_Locale;
import dalvik.annotation.TestTargetNew;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetClass;
new Locale("da", ""), new Locale("ja", ""),
new Locale("en", "")};
+ if (!Support_Locale.areLocalesAvailable(loc1)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
String[] euro = new String[] {"EUR", "\u20ac"};
// \u00a5 and \uffe5 are actually the same symbol, just different code points.
*/
package tests.api.java.util;
+import tests.support.Support_Locale;
+
import java.io.BufferedOutputStream;
import java.io.Closeable;
import java.io.File;
method = "format",
args = {java.lang.String.class, java.lang.Object[].class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_formatLjava_lang_String$Ljava_lang_Object_ByteShortIntegerLongConversionD() {
+ Locale[] requiredLocales = {Locale.GERMAN};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
final Object[][] triple = {
{ 0, "%d", "0" },
{ 0, "%10d", " 0" },
args = {java.lang.String.class, java.lang.Object[].class}
)
@AndroidOnly("ICU data is different from RI data")
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_formatLjava_lang_String$Ljava_lang_Object_DateTimeConversion() {
+ Locale[] requiredLocales = {Locale.FRANCE, Locale.CHINA, Locale.GERMAN, Locale.US};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
/*
* Implementation note: For a millisecond date based on Long.MAX_VALUE,
* the RI produces different formatted minutes and seconds than we do.
method = "format",
args = {java.lang.String.class, java.lang.Object[].class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_formatLjava_lang_String$LBigInteger() {
+ Locale[] requiredLocales = {Locale.ITALY, Locale.GERMAN, Locale.FRANCE};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
final Object[][] tripleD = {
{new BigInteger("123456789012345678901234567890"), "%d", "123456789012345678901234567890"}, //$NON-NLS-2$
{new BigInteger("123456789012345678901234567890"), "%10d", "123456789012345678901234567890"}, //$NON-NLS-2$
method = "format",
args = {java.lang.String.class, java.lang.Object[].class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_formatLjava_lang_String$Ljava_lang_Object_BigIntegerPaddingConversion() {
+ Locale[] requiredLocales = {Locale.GERMAN};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
Formatter f = null;
BigInteger bigInt = new BigInteger("123456789012345678901234567890");
method = "format",
args = {java.util.Locale.class, java.lang.String.class, java.lang.Object[].class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_formatLjava_util_LocaleLjava_lang_StringLjava_lang_Object() {
+ Locale[] requiredLocales = {Locale.GERMAN, Locale.FRANCE, Locale.US, Locale.CANADA};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
Double val = new Double(3.14);
Calendar cal = Calendar.getInstance();
Formatter fLoc = null;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetClass;
import dalvik.annotation.KnownFailure;
+import tests.support.Support_Locale;
import java.util.BitSet;
import java.util.Calendar;
method = "GregorianCalendar",
args = {java.util.Locale.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_ConstructorLjava_util_Locale() {
+ Locale[] requiredLocales = {Locale.US, Locale.FRANCE};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
// Test for method java.util.GregorianCalendar(java.util.Locale)
Date date = new Date();
GregorianCalendar gcUS = new GregorianCalendar(Locale.US);
package tests.api.java.util;
-import dalvik.annotation.KnownFailure;
import dalvik.annotation.TestTargetNew;
import dalvik.annotation.TestTargets;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetClass;
import dalvik.annotation.AndroidOnly;
+import tests.support.Support_Locale;
import java.security.Permission;
import java.util.Arrays;
method = "getDisplayCountry",
args = {java.util.Locale.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_getDisplayCountryLjava_util_Locale() {
+ Locale[] requiredLocales = {Locale.ITALY};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
// Test for method java.lang.String
// java.util.Locale.getDisplayCountry(java.util.Locale)
assertEquals("Returned incorrect country", "Italie", Locale.ITALY
method = "getDisplayLanguage",
args = {java.util.Locale.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_getDisplayLanguageLjava_util_Locale() {
+ Locale[] requiredLocales = {testLocale};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
// Test for method java.lang.String
// java.util.Locale.getDisplayLanguage(java.util.Locale)
assertTrue("Returned incorrect language: "
method = "getDisplayName",
args = {java.util.Locale.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_getDisplayNameLjava_util_Locale() {
+ Locale[] requiredLocales = {testLocale};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
// Test for method java.lang.String
// java.util.Locale.getDisplayName(java.util.Locale)
assertTrue("Returned incorrect name: " + testLocale.getDisplayName(l),
import java.util.regex.MatchResult;
import java.util.regex.Pattern;
+import tests.support.Support_Locale;
import tests.support.Support_PortManager;
import junit.framework.TestCase;
method = "nextInt",
args = {int.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_nextIntI() throws IOException {
+ Locale[] requiredLocales = {Locale.GERMANY, Locale.ENGLISH, Locale.CHINESE};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 456");
assertEquals(123, s.nextInt(10));
assertEquals(456, s.nextInt(10));
method = "nextInt",
args = {}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_nextInt() throws IOException {
+ Locale[] requiredLocales = {Locale.GERMANY, Locale.CHINESE, Locale.ENGLISH};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 456");
assertEquals(123, s.nextInt());
assertEquals(456, s.nextInt());
method = "nextFloat",
args = {}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_nextFloat() throws IOException {
+ Locale[] requiredLocales = {Locale.ENGLISH, Locale.GERMANY};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 45\u0666. 123.4 .123 ");
s.useLocale(Locale.ENGLISH);
assertEquals((float)123.0, s.nextFloat());
method = "nextShort",
args = {int.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_nextShortI() throws IOException {
+ Locale[] requiredLocales = {Locale.GERMANY, Locale.CHINESE, Locale.ENGLISH};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 456");
assertEquals(123, s.nextShort(10));
assertEquals(456, s.nextShort(10));
method = "nextShort",
args = {}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_nextShort() throws IOException {
+ Locale[] requiredLocales = {Locale.GERMANY, Locale.CHINESE, Locale.ENGLISH};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 456");
assertEquals(123, s.nextShort());
assertEquals(456, s.nextShort());
method = "nextLong",
args = {int.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_nextLongI() throws IOException {
+ Locale[] requiredLocales = {Locale.GERMANY, Locale.CHINESE, Locale.ENGLISH};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 456");
assertEquals(123, s.nextLong(10));
assertEquals(456, s.nextLong(10));
method = "nextLong",
args = {}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_nextLong() throws IOException {
+ Locale[] requiredLocales = {Locale.GERMANY, Locale.CHINESE, Locale.ENGLISH};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 456");
assertEquals(123, s.nextLong());
assertEquals(456, s.nextLong());
method = "hasNextInt",
args = {int.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_hasNextIntI() throws IOException {
+ Locale mkLocale = new Locale("mk", "MK");
+ Locale arLocale = new Locale("ar", "AE");
+ Locale deLocale = new Locale("de", "CH");
+ Locale[] requiredLocales = {Locale.GERMANY, Locale.ENGLISH, Locale.CHINESE,
+ mkLocale, arLocale, deLocale};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 456");
assertEquals(123, s.nextInt(10));
assertTrue(s.hasNextInt(10));
s = new Scanner("23'456");
s.useLocale(Locale.GERMANY);
assertFalse(s.hasNextInt(10));
- s.useLocale(new Locale("de", "CH"));
+ s.useLocale(deLocale);
// If exception is thrown out, input will not be advanced.
assertTrue(s.hasNextInt(10));
* by scanner with locale mk_MK. But this is not the case on RI.
*/
s = new Scanner("-123 123- -123-");
- s.useLocale(new Locale("ar", "AE"));
+ s.useLocale(arLocale);
assertTrue(s.hasNextInt(10));
assertEquals(-123, s.nextInt(10));
// The following test case fails on RI
}
s = new Scanner("-123 123- (123)");
- s.useLocale(new Locale("mk", "MK"));
+ s.useLocale(mkLocale);
assertTrue(s.hasNextInt(10));
assertEquals(-123, s.nextInt(10));
assertFalse(s.hasNextInt(10));
method = "hasNextInt",
args = {}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_hasNextInt() throws IOException {
+ Locale mkLocale = new Locale("mk", "MK");
+ Locale arLocale = new Locale("ar", "AE");
+ Locale deLocale = new Locale("de", "CH");
+ Locale[] requiredLocales = {Locale.GERMANY, Locale.ENGLISH, Locale.CHINESE,
+ mkLocale, arLocale, deLocale};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 456");
assertTrue(s.hasNextInt());
assertEquals(123, s.nextInt());
s = new Scanner("23'456");
s.useLocale(Locale.GERMANY);
assertFalse(s.hasNextInt());
- s.useLocale(new Locale("de", "CH"));
+ s.useLocale(deLocale);
assertTrue(s.hasNextInt());
/*
* by scanner with locale mk_MK. But this is not the case on RI.
*/
s = new Scanner("-123 123- -123-");
- s.useLocale(new Locale("ar", "AE"));
+ s.useLocale(arLocale);
assertTrue(s.hasNextInt());
assertEquals(-123, s.nextInt());
// The following test case fails on RI
}
s = new Scanner("-123 123- (123)");
- s.useLocale(new Locale("mk", "MK"));
+ s.useLocale(mkLocale);
assertTrue(s.hasNextInt());
assertEquals(-123, s.nextInt());
try {
method = "hasNextFloat",
args = {}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_hasNextFloat() throws IOException {
+ Locale mkLocale = new Locale("mk", "MK");
+ Locale arLocale = new Locale("ar", "AE");
+ Locale[] requiredLocales = {Locale.GERMANY, Locale.ENGLISH, mkLocale, arLocale};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 45\u0666. 123.4 .123 ");
s.useLocale(Locale.ENGLISH);
assertTrue(s.hasNextFloat());
assertEquals((float)23456.7, s.nextFloat());
s = new Scanner("-123.4 123.4- -123.4-");
- s.useLocale(new Locale("ar", "AE"));
+ s.useLocale(arLocale);
assertTrue(s.hasNextFloat());
assertEquals((float)-123.4, s.nextFloat());
//The following test case fails on RI
}
s = new Scanner("(123) 123- -123");
- s.useLocale(new Locale("mk", "MK"));
+ s.useLocale(mkLocale);
if (!disableRIBugs) {
assertTrue(s.hasNextFloat());
assertEquals((float)-123.0, s.nextFloat());
method = "hasNextShort",
args = {int.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_hasNextShortI() throws IOException {
+ Locale[] requiredLocales = {Locale.GERMANY, Locale.ENGLISH, Locale.CHINESE};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 456");
assertTrue(s.hasNextShort(10));
assertEquals(123, s.nextShort(10));
method = "hasNextShort",
args = {}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_hasNextShort() throws IOException {
+ Locale deLocale = new Locale("de", "CH");
+ Locale arLocale = new Locale("ar", "AE");
+ Locale mkLocale = new Locale("mk", "MK");
+ Locale[] requiredLocales = {Locale.GERMANY, Locale.ENGLISH, Locale.CHINESE, deLocale,
+ arLocale, mkLocale};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 456");
assertTrue(s.hasNextShort());
assertEquals(123, s.nextShort());
} catch (InputMismatchException e) {
// Expected
}
- s.useLocale(new Locale("de", "CH"));
+ s.useLocale(deLocale);
// If exception is thrown out, input will not be advanced.
assertTrue(s.hasNextShort());
assertEquals(23456, s.nextShort());
assertEquals(12300, s.nextShort());
s = new Scanner("-123");
- s.useLocale(new Locale("ar", "AE"));
+ s.useLocale(arLocale);
assertTrue(s.hasNextShort());
assertEquals(-123, s.nextShort());
s = new Scanner("-123");
- s.useLocale(new Locale("mk", "MK"));
+ s.useLocale(mkLocale);
assertTrue(s.hasNextShort());
assertEquals(-123, s.nextShort());
method = "hasNextLong",
args = {int.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_hasNextLongI() throws IOException {
+ Locale[] requiredLocales = {Locale.GERMANY, Locale.ENGLISH, Locale.CHINESE};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 456");
assertTrue(s.hasNextLong(10));
assertEquals(123, s.nextLong(10));
method = "hasNextLong",
args = {}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_hasNextLong() throws IOException {
+ Locale deLocale = new Locale("de", "CH");
+ Locale arLocale = new Locale("ar", "AE");
+ Locale mkLocale = new Locale("mk", "MK");
+ Locale[] requiredLocales = {Locale.GERMANY, Locale.ENGLISH, Locale.CHINESE, deLocale,
+ arLocale, mkLocale};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 456");
assertTrue(s.hasNextLong());
assertEquals(123, s.nextLong());
} catch (InputMismatchException e) {
// Expected
}
- s.useLocale(new Locale("de", "CH"));
+ s.useLocale(deLocale);
// If exception is thrown out, input will not be advanced.
assertTrue(s.hasNextLong());
assertEquals(23456, s.nextLong());
assertEquals(12300, s.nextLong());
s = new Scanner("-123");
- s.useLocale(new Locale("ar", "AE"));
+ s.useLocale(arLocale);
assertTrue(s.hasNextLong());
assertEquals(-123, s.nextLong());
s = new Scanner("-123");
- s.useLocale(new Locale("mk", "MK"));
+ s.useLocale(mkLocale);
assertTrue(s.hasNextLong());
assertEquals(-123, s.nextLong());
method = "hasNextDouble",
args = {}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_hasNextDouble() throws IOException {
+ Locale[] requiredLocales = {Locale.GERMANY, Locale.ENGLISH};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 45\u0666. 123.4 .123 ");
s.useLocale(Locale.ENGLISH);
assertTrue(s.hasNextDouble());
method = "hasNextBigDecimal",
args = {}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_hasNextBigDecimal() throws IOException {
+ Locale[] requiredLocales = {Locale.GERMANY, Locale.ENGLISH};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 45\u0666. 123.4 .123 ");
s.useLocale(Locale.ENGLISH);
assertTrue(s.hasNextBigDecimal());
method = "nextDouble",
args = {}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_nextDouble() throws IOException {
+ Locale[] requiredLocales = {Locale.GERMANY, Locale.ENGLISH};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 45\u0666. 123.4 .123 ");
s.useLocale(Locale.ENGLISH);
assertEquals(123.0, s.nextDouble());
method = "nextBigDecimal",
args = {}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_nextBigDecimal() throws IOException {
+ Locale[] requiredLocales = {Locale.ENGLISH, Locale.GERMANY};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
s = new Scanner("123 45\u0666. 123.4 .123 ");
s.useLocale(Locale.ENGLISH);
assertEquals(new BigDecimal("123"), s.nextBigDecimal());
import java.util.SimpleTimeZone;
import java.util.TimeZone;
+import tests.support.Support_Locale;
import tests.support.Support_TimeZone;
@TestTargetClass(TimeZone.class)
method = "getDisplayName",
args = {java.util.Locale.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_getDisplayNameLjava_util_Locale() {
+ Locale[] requiredLocales = {Locale.US, Locale.FRANCE};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
assertEquals("Pacific Standard Time", tz.getDisplayName(new Locale("US")));
assertEquals("Heure normale du Pacifique", tz.getDisplayName(Locale.FRANCE));
args = {boolean.class, int.class, java.util.Locale.class}
)
@AndroidOnly("fail on RI. See comment below")
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_getDisplayNameZILjava_util_Locale() {
+ Locale[] requiredLocales = {Locale.US, Locale.UK, Locale.FRANCE};
+ if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
+ // locale dependent test, bug 1943269
+ return;
+ }
TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
assertEquals("PST", tz.getDisplayName(false, 0, Locale.US));
assertEquals("Pacific Daylight Time", tz.getDisplayName(true, 1, Locale.US));
--- /dev/null
+/*
+ * 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.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package tests.support;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Locale;
+import java.util.Set;
+
+
+/**
+ * Helper class for {@link Locale} tests
+ */
+public class Support_Locale {
+
+ /**
+ * Helper method to determine if given locales are available.
+ *
+ * @param requiredLocales - the set of {@link Locale} to check
+ *
+ * @return true if all requiredLocales are available.
+ */
+ public static boolean areLocalesAvailable(Locale[] requiredLocales) {
+ Locale[] availableLocales = Locale.getAvailableLocales();
+ Set<Locale> localeSet = new HashSet<Locale>(Arrays.asList(availableLocales));
+ for (Locale requiredLocale : requiredLocales) {
+ if (!localeSet.contains(requiredLocale)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+}
\ No newline at end of file
*/
package org.apache.harmony.text.tests.java.text;
-import dalvik.annotation.KnownFailure;
import dalvik.annotation.TestTargets;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetNew;
method = "getAvailableLocales",
args = {}
)
- @KnownFailure("German locales were removed last minute in cupcake")
public void test_getAvailableLocales() {
Locale[] locales = DateFormat.getAvailableLocales();
assertTrue("No locales", locales.length > 0);
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);
}
/**
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;
method = "getCurrency",
args = {}
)
- @KnownFailure("some locales were removed last minute in cupcake")
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);
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
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);
assertEquals("Test2: Returned incorrect currencySymbol", "CZK", dfs1
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
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
import tests.support.Support_BitSet;
import tests.support.Support_DecimalFormat;
+import tests.support.Support_Locale;
import java.io.ObjectInputStream;
import java.io.IOException;
method = "formatToCharacterIterator",
args = {java.lang.Object.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
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
-/*
+/*
* 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.
*/
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;
import java.util.Currency;
import java.util.Locale;
-@TestTargetClass(NumberFormat.class)
+@TestTargetClass(NumberFormat.class)
public class NumberFormatTest extends TestCase {
/**
method = "getIntegerInstance",
args = {java.util.Locale.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_getIntegerInstanceLjava_util_Locale()
throws ParseException {
// Test for method java.text.NumberFormat
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(
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
+ }
}
/**
method = "parseObject",
args = {java.lang.String.class, java.text.ParsePosition.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
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);
// 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);
method = "format",
args = {double.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
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",
method = "format",
args = {long.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
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,
method = "getCurrencyInstance",
args = {java.util.Locale.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
public void test_getCurrencyInstanceLjava_util_Locale() {
// BEGIN android-changed
Locale usLocale = Locale.US;
// 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);
// 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));
method = "getInstance",
args = {java.util.Locale.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
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",
method = "getNumberInstance",
args = {java.util.Locale.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
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"));
method = "getPercentInstance",
args = {java.util.Locale.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
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",
method = "setGroupingUsed",
args = {boolean.class}
)
- @KnownFailure("Some locales were removed last minute in cupcake")
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);
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",