@@ -86,6 +86,12 @@ public void testSkippingOneNested() throws Exception
86
86
87
87
// [core#700], full test
88
88
public void testSkippingForSingleWithPath () throws Exception
89
+ {
90
+ _testSkippingForSingleWithPath (false );
91
+ _testSkippingForSingleWithPath (true );
92
+ }
93
+
94
+ private void _testSkippingForSingleWithPath (boolean useNextName ) throws Exception
89
95
{
90
96
final String json = a2q ("{'@type':'xxx','value':{'@type':'yyy','a':99}}" );
91
97
// should become: {"value":{"a":99}}
@@ -99,15 +105,24 @@ public void testSkippingForSingleWithPath() throws Exception
99
105
100
106
assertToken (JsonToken .START_OBJECT , p .nextToken ());
101
107
102
- assertToken (JsonToken .FIELD_NAME , p .nextToken ());
103
- assertEquals ("value" , p .getCurrentName ());
104
-
105
- assertToken (JsonToken .START_OBJECT , p .nextToken ());
106
- assertToken (JsonToken .FIELD_NAME , p .nextToken ());
107
- assertEquals ("a" , p .currentName ());
108
- assertToken (JsonToken .VALUE_NUMBER_INT , p .nextToken ());
109
- assertEquals (99 , p .getIntValue ());
110
- assertEquals (JsonToken .END_OBJECT , p .nextToken ());
108
+ if (useNextName ) {
109
+ assertEquals ("value" , p .nextFieldName ());
110
+ assertToken (JsonToken .START_OBJECT , p .nextToken ());
111
+ assertEquals ("a" , p .nextFieldName ());
112
+ assertToken (JsonToken .VALUE_NUMBER_INT , p .nextToken ());
113
+ assertEquals (99 , p .getIntValue ());
114
+ assertNull (p .nextFieldName ());
115
+ assertEquals (JsonToken .END_OBJECT , p .currentToken ());
116
+ } else {
117
+ assertToken (JsonToken .FIELD_NAME , p .nextToken ());
118
+ assertEquals ("value" , p .currentName ());
119
+ assertToken (JsonToken .START_OBJECT , p .nextToken ());
120
+ assertToken (JsonToken .FIELD_NAME , p .nextToken ());
121
+ assertEquals ("a" , p .currentName ());
122
+ assertToken (JsonToken .VALUE_NUMBER_INT , p .nextToken ());
123
+ assertEquals (99 , p .getIntValue ());
124
+ assertEquals (JsonToken .END_OBJECT , p .nextToken ());
125
+ }
111
126
112
127
assertEquals (JsonToken .END_OBJECT , p .nextToken ());
113
128
assertNull (p .nextToken ());
0 commit comments