summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2010-02-01 17:35:21 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-02-01 17:35:21 -0800
commitb46308866f526cc509b000b72113360cef7196ee (patch)
treec9f16a40c570a756ee8954744e8829ee7a5e1627
parent5b31804aabb219d2e441ce3b62a78f4df05f428f (diff)
parent5c2b841724e903a06efdfb854bc2cd7c305728ed (diff)
downloadlibcore-b46308866f526cc509b000b72113360cef7196ee.zip
libcore-b46308866f526cc509b000b72113360cef7196ee.tar.gz
libcore-b46308866f526cc509b000b72113360cef7196ee.tar.bz2
Merge "Fix BigDecimalTest.test_stripTrailingZero."
-rw-r--r--math/src/main/java/java/math/BigDecimal.java3
-rw-r--r--math/src/test/java/tests/api/java/math/BigDecimalTest.java7
2 files changed, 7 insertions, 3 deletions
diff --git a/math/src/main/java/java/math/BigDecimal.java b/math/src/main/java/java/math/BigDecimal.java
index 33042ba..4e4875b 100644
--- a/math/src/main/java/java/math/BigDecimal.java
+++ b/math/src/main/java/java/math/BigDecimal.java
@@ -2148,7 +2148,10 @@ public class BigDecimal extends Number implements Comparable<BigDecimal>, Serial
long newScale = scale;
if (isZero()) {
+ // BEGIN android-changed: preserve RI compatibility, so BigDecimal.equals (which checks
+ // value *and* scale) continues to work.
return this;
+ // END android-changed
}
BigInteger strippedBI = getUnscaledValue();
BigInteger[] quotAndRem;
diff --git a/math/src/test/java/tests/api/java/math/BigDecimalTest.java b/math/src/test/java/tests/api/java/math/BigDecimalTest.java
index 572f2c1..29d68a2 100644
--- a/math/src/test/java/tests/api/java/math/BigDecimalTest.java
+++ b/math/src/test/java/tests/api/java/math/BigDecimalTest.java
@@ -1293,7 +1293,6 @@ public class BigDecimalTest extends junit.framework.TestCase {
method = "stripTrailingZeros",
args = {}
)
- @AndroidOnly("Stripping trailing zeroes from 0.000 value doesn't work on RI. See below")
public void test_stripTrailingZero() {
BigDecimal sixhundredtest = new BigDecimal("600.0");
assertTrue("stripTrailingZero failed for 600.0",
@@ -1306,11 +1305,13 @@ public class BigDecimalTest extends junit.framework.TestCase {
((notrailingzerotest.stripTrailingZeros()).scale() == 0)
);
+ // BEGIN android-changed: preserve RI compatibility, so BigDecimal.equals (which checks
+ // value *and* scale) continues to work. https://issues.apache.org/jira/browse/HARMONY-4623
/* Zero */
- //regression for HARMONY-4623, NON-BUG DIFF with RI
BigDecimal zerotest = new BigDecimal("0.0000");
assertEquals("stripTrailingZero failed for 0.0000",
- 0, (zerotest.stripTrailingZeros()).scale() );
+ 4, (zerotest.stripTrailingZeros()).scale() );
+ // END android-changed
}
@TestTargetNew(