diff options
author | Brett Chabot <brettchabot@android.com> | 2009-12-22 14:10:16 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2009-12-22 14:10:16 -0800 |
commit | a0f38182a8fb81a6ae34372895e7a8a421f66fa1 (patch) | |
tree | dc705dfb0dcd43af9b6dbe02398193b1cdccc7bb /text | |
parent | 5993a7de9253a34571da6483c4b3bc4ad30a7858 (diff) | |
parent | 7f16f3436c2104ef445815ea6b0f9a2e85bddd1d (diff) | |
download | libcore-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')
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", |