Skip to content

Commit fd98da4

Browse files
committed
Add test & fix for CBOR too
1 parent 284b977 commit fd98da4

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORParser.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1702,6 +1702,9 @@ public String getValueAsString() throws IOException
17021702
if (_currToken == JsonToken.VALUE_STRING) {
17031703
return _sharedString == null ? _textBuffer.contentsAsString() : _sharedString;
17041704
}
1705+
if (_currToken == JsonToken.FIELD_NAME) {
1706+
return currentName();
1707+
}
17051708
if (_currToken == null || _currToken == JsonToken.VALUE_NULL || !_currToken.isScalarValue()) {
17061709
return null;
17071710
}
@@ -1712,6 +1715,9 @@ public String getValueAsString() throws IOException
17121715
public String getValueAsString(String defaultValue) throws IOException
17131716
{
17141717
if (_currToken != JsonToken.VALUE_STRING) {
1718+
if (_currToken == JsonToken.FIELD_NAME) {
1719+
return currentName();
1720+
}
17151721
if (_currToken == null || _currToken == JsonToken.VALUE_NULL || !_currToken.isScalarValue()) {
17161722
return defaultValue;
17171723
}

cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/parse/BasicParserTest.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,9 +248,14 @@ public void testStringField() throws IOException {
248248
assertEquals(JsonToken.START_OBJECT, parser.nextToken());
249249
assertEquals(JsonToken.FIELD_NAME, parser.nextToken());
250250
assertEquals("a", parser.currentName());
251+
assertEquals("a", parser.getText());
252+
assertEquals("a", parser.getValueAsString());
253+
assertEquals("a", parser.getValueAsString("x"));
251254
assertEquals(JsonToken.VALUE_STRING, parser.nextToken());
252255
assertEquals("a", parser.currentName());
253256
assertEquals("b", parser.getText());
257+
assertEquals("b", parser.getValueAsString());
258+
assertEquals("b", parser.getValueAsString("x"));
254259
assertEquals(1, parser.getTextLength());
255260
assertEquals(JsonToken.END_OBJECT, parser.nextToken());
256261

@@ -281,14 +286,23 @@ public void testNestedObject() throws IOException
281286

282287
assertEquals(JsonToken.FIELD_NAME, parser.nextToken());
283288
assertEquals("ob", parser.currentName());
289+
assertEquals("ob", parser.getText());
290+
assertEquals("ob", parser.getValueAsString());
291+
assertEquals("ob", parser.getValueAsString("x"));
284292
assertEquals(JsonToken.START_OBJECT, parser.nextToken());
285293
assertEquals(JsonToken.FIELD_NAME, parser.nextToken());
286294
assertEquals("num", parser.currentName());
295+
assertEquals("num", parser.getText());
296+
assertEquals("num", parser.getValueAsString());
297+
assertEquals("num", parser.getValueAsString("y"));
287298
assertEquals(JsonToken.VALUE_NUMBER_INT, parser.nextToken());
288299
assertEquals(JsonToken.END_OBJECT, parser.nextToken());
289300

290301
assertEquals(JsonToken.FIELD_NAME, parser.nextToken());
291302
assertEquals("arr", parser.currentName());
303+
assertEquals("arr", parser.getText());
304+
assertEquals("arr", parser.getValueAsString());
305+
assertEquals("arr", parser.getValueAsString("z"));
292306
assertEquals(JsonToken.START_ARRAY, parser.nextToken());
293307
assertEquals(JsonToken.END_ARRAY, parser.nextToken());
294308

0 commit comments

Comments
 (0)