Skip to content

Commit dff33ca

Browse files
committed
Tests for skipToEndStructure, appendNextNumberValue.
1 parent 0bc1668 commit dff33ca

1 file changed

Lines changed: 55 additions & 3 deletions

File tree

‎src/test/java/org/json/stream/ParserTest.java‎

Lines changed: 55 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,11 +181,11 @@ public void testObjectSkip() throws Exception {
181181
Assert.assertEquals(ParseState.KEY, parser.nextState());
182182
Assert.assertEquals("key", parser.nextKey());
183183
Assert.assertEquals(ParseState.OBJECT, parser.nextState());
184-
Assert.assertEquals(ParseState.END_OBJECT, parser.skipToEndObject());
184+
Assert.assertEquals(ParseState.END_OBJECT, parser.skipToEndStructure());
185185
Assert.assertEquals(ParseState.KEY, parser.nextState());
186186
Assert.assertEquals("key2", parser.nextKey());
187187
Assert.assertEquals(ParseState.OBJECT, parser.nextState());
188-
Assert.assertEquals(ParseState.END_OBJECT, parser.skipToEndObject());
188+
Assert.assertEquals(ParseState.END_OBJECT, parser.skipToEndStructure());
189189
Assert.assertEquals(ParseState.END_OBJECT, parser.nextState());
190190
Assert.assertEquals(ParseState.END_DOCUMENT, parser.nextState());
191191
}
@@ -237,7 +237,7 @@ public void testArray3() throws Exception {
237237
Assert.assertEquals(ParseState.DOCUMENT, parser.nextState());
238238
Assert.assertEquals(ParseState.ARRAY, parser.nextState());
239239
Assert.assertEquals(ParseState.ARRAY, parser.nextState());
240-
Assert.assertEquals(ParseState.END_ARRAY, parser.skipToEndObject());
240+
Assert.assertEquals(ParseState.END_ARRAY, parser.skipToEndStructure());
241241
Assert.assertEquals(ParseState.END_ARRAY, parser.nextState());
242242
Assert.assertEquals(ParseState.END_DOCUMENT, parser.nextState());
243243
}
@@ -328,6 +328,23 @@ public void testSimpleString5() throws Exception {
328328
Assert.assertEquals(3300, builder.length());
329329
}
330330

331+
@Test
332+
public void testSkipString() throws Exception {
333+
JSONStreamReader parser = new JSONStreamReader(STRING_5);
334+
335+
Assert.assertEquals(ParseState.DOCUMENT, parser.nextState());
336+
Assert.assertEquals(ParseState.VALUE, parser.nextState());
337+
Assert.assertEquals(ParseState.END_DOCUMENT, parser.skipToEndStructure());
338+
}
339+
340+
@Test
341+
public void testSkipString2() throws Exception {
342+
JSONStreamReader parser = new JSONStreamReader(STRING_5);
343+
344+
Assert.assertEquals(ParseState.DOCUMENT, parser.nextState());
345+
Assert.assertEquals(ParseState.END_DOCUMENT, parser.skipToEndStructure());
346+
}
347+
331348
@Test
332349
public void testSimpleFalse() throws Exception {
333350
JSONStreamReader parser = new JSONStreamReader(FALSE_1);
@@ -729,6 +746,41 @@ public void testObjectTest3() throws Exception {
729746
Assert.assertEquals(ParseState.END_DOCUMENT, parser.nextState());
730747
}
731748

749+
@Test
750+
public void testObjectTest3Append() throws Exception {
751+
JSONStreamReader parser = new JSONStreamReader(new StringReader(OBJECT_TEST_3));
752+
StringBuilder builder = new StringBuilder();
753+
754+
Assert.assertEquals(ParseState.DOCUMENT, parser.nextState());
755+
Assert.assertEquals(ParseState.OBJECT, parser.nextState());
756+
Assert.assertEquals(ParseState.KEY, parser.nextState());
757+
Assert.assertEquals("numberWithDecimals", parser.nextKey());
758+
Assert.assertEquals(ParseState.VALUE, parser.nextState());
759+
parser.appendNextNumberValue(builder);
760+
Assert.assertEquals("299792.457999999984", builder.toString());
761+
builder.delete(0, builder.length());
762+
Assert.assertEquals(ParseState.KEY, parser.nextState());
763+
Assert.assertEquals("largeNumber", parser.nextKey());
764+
Assert.assertEquals(ParseState.VALUE, parser.nextState());
765+
parser.appendNextNumberValue(builder);
766+
Assert.assertEquals("12345678901234567890", builder.toString());
767+
builder.delete(0, builder.length());
768+
Assert.assertEquals(ParseState.KEY, parser.nextState());
769+
Assert.assertEquals("preciseNumber", parser.nextKey());
770+
Assert.assertEquals(ParseState.VALUE, parser.nextState());
771+
parser.appendNextNumberValue(builder);
772+
Assert.assertEquals("0.2000000000000000111", builder.toString());
773+
builder.delete(0, builder.length());
774+
Assert.assertEquals(ParseState.KEY, parser.nextState());
775+
Assert.assertEquals("largeExponent", parser.nextKey());
776+
Assert.assertEquals(ParseState.VALUE, parser.nextState());
777+
parser.appendNextNumberValue(builder);
778+
Assert.assertEquals("-23.45e2327", builder.toString());
779+
builder.delete(0, builder.length());
780+
Assert.assertEquals(ParseState.END_OBJECT, parser.nextState());
781+
Assert.assertEquals(ParseState.END_DOCUMENT, parser.nextState());
782+
}
783+
732784
@Test
733785
public void testArrayTest1() throws Exception {
734786
JSONStreamReader parser = new JSONStreamReader(new StringReader(ARRAY_TEST_1));

0 commit comments

Comments
 (0)