@@ -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