Skip to content

Commit de6e7f0

Browse files
committed
Add tests, fix, for protobuf parser
1 parent 59e5847 commit de6e7f0

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

protobuf/src/main/java/com/fasterxml/jackson/dataformat/protobuf/ProtobufParser.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1395,6 +1395,9 @@ public String getValueAsString() throws IOException
13951395
}
13961396
return _textBuffer.contentsAsString();
13971397
}
1398+
if (_currToken == JsonToken.FIELD_NAME) {
1399+
return currentName();
1400+
}
13981401
if (_currToken == null || _currToken == JsonToken.VALUE_NULL || !_currToken.isScalarValue()) {
13991402
return null;
14001403
}
@@ -1405,6 +1408,9 @@ public String getValueAsString() throws IOException
14051408
public String getValueAsString(String defaultValue) throws IOException
14061409
{
14071410
if (_currToken != JsonToken.VALUE_STRING) {
1411+
if (_currToken == JsonToken.FIELD_NAME) {
1412+
return currentName();
1413+
}
14081414
if (_currToken == null || _currToken == JsonToken.VALUE_NULL || !_currToken.isScalarValue()) {
14091415
return defaultValue;
14101416
}

protobuf/src/test/java/com/fasterxml/jackson/dataformat/protobuf/ReadSimpleTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,18 @@ public void testReadPointLong() throws Exception
137137
assertNull(p.currentName());
138138
assertToken(JsonToken.FIELD_NAME, p.nextToken());
139139
assertEquals("x", p.currentName());
140+
assertEquals("x", p.getText());
141+
assertEquals("x", p.getValueAsString());
142+
assertEquals("x", p.getValueAsString("y"));
140143
assertToken(JsonToken.VALUE_NUMBER_INT, p.nextToken());
141144
assertEquals(NumberType.LONG, p.getNumberType());
142145
assertEquals(NumberTypeFP.UNKNOWN, p.getNumberTypeFP());
143146
assertEquals(input.x, p.getIntValue());
144147
assertToken(JsonToken.FIELD_NAME, p.nextToken());
145148
assertEquals("y", p.currentName());
149+
assertEquals("y", p.getText());
150+
assertEquals("y", p.getValueAsString());
151+
assertEquals("y", p.getValueAsString("abc"));
146152
assertToken(JsonToken.VALUE_NUMBER_INT, p.nextToken());
147153
assertEquals(input.y, p.getIntValue());
148154
assertToken(JsonToken.END_OBJECT, p.nextToken());

0 commit comments

Comments
 (0)