You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2010/11/17 13:39:57 UTC
svn commit: r1036001 - in /pivot/trunk/core:
src/org/apache/pivot/json/JSONSerializer.java
test/org/apache/pivot/json/test/JSONSerializerTest.java
Author: gbrown
Date: Wed Nov 17 12:39:57 2010
New Revision: 1036001
URL: http://svn.apache.org/viewvc?rev=1036001&view=rev
Log:
Support negative floating point exponent values in JSONSerializer.
Modified:
pivot/trunk/core/src/org/apache/pivot/json/JSONSerializer.java
pivot/trunk/core/test/org/apache/pivot/json/test/JSONSerializerTest.java
Modified: pivot/trunk/core/src/org/apache/pivot/json/JSONSerializer.java
URL: http://svn.apache.org/viewvc/pivot/trunk/core/src/org/apache/pivot/json/JSONSerializer.java?rev=1036001&r1=1036000&r2=1036001&view=diff
==============================================================================
--- pivot/trunk/core/src/org/apache/pivot/json/JSONSerializer.java (original)
+++ pivot/trunk/core/src/org/apache/pivot/json/JSONSerializer.java Wed Nov 17 12:39:57 2010
@@ -478,7 +478,7 @@ public class JSONSerializer implements S
}
while (c != -1 && (Character.isDigit(c) || c == '.'
- || c == 'e' || c == 'E')) {
+ || c == 'e' || c == 'E' || c == '-')) {
stringBuilder.append((char)c);
integer &= !(c == '.');
c = reader.read();
Modified: pivot/trunk/core/test/org/apache/pivot/json/test/JSONSerializerTest.java
URL: http://svn.apache.org/viewvc/pivot/trunk/core/test/org/apache/pivot/json/test/JSONSerializerTest.java?rev=1036001&r1=1036000&r2=1036001&view=diff
==============================================================================
--- pivot/trunk/core/test/org/apache/pivot/json/test/JSONSerializerTest.java (original)
+++ pivot/trunk/core/test/org/apache/pivot/json/test/JSONSerializerTest.java Wed Nov 17 12:39:57 2010
@@ -44,26 +44,38 @@ public class JSONSerializerTest {
assertEquals(0, emptyList.getLength());
}
+ @Test
+ public void testE() throws SerializationException {
+ assertEquals(5000000, JSONSerializer.parseDouble("5.0E6"), 0);
+ assertEquals(0.000005, JSONSerializer.parseDouble("5.0E-6"), 0);
+ }
+
+ @Test(expected=SerializationException.class)
public void testFloatNaN() throws SerializationException {
JSONSerializer.toString(Float.NaN);
}
+ @Test(expected=SerializationException.class)
public void testFloatNegativeInfinity() throws SerializationException {
JSONSerializer.toString(Float.NEGATIVE_INFINITY);
}
+ @Test(expected=SerializationException.class)
public void testFloatPositiveInfinity() throws SerializationException {
JSONSerializer.toString(Float.POSITIVE_INFINITY);
}
+ @Test(expected=SerializationException.class)
public void testDoubleNaN() throws SerializationException {
JSONSerializer.toString(Double.NaN);
}
+ @Test(expected=SerializationException.class)
public void testDoubleNegativeInfinity() throws SerializationException {
JSONSerializer.toString(Double.NEGATIVE_INFINITY);
}
+ @Test(expected=SerializationException.class)
public void testDoublePositiveInfinityN() throws SerializationException {
JSONSerializer.toString(Double.POSITIVE_INFINITY);
}