Skip to content

DataInput backed parser should handle EOFException at end of doc #325

@bdhess

Description

@bdhess

Found while implementing #323.

java.io.IOException: End-of-input for readByte()

    at com.fasterxml.jackson.core.testsupport.MockDataInput.readByte(MockDataInput.java:45)
    at com.fasterxml.jackson.core.testsupport.MockDataInput.readUnsignedByte(MockDataInput.java:52)
    at com.fasterxml.jackson.core.json.UTF8DataInputJsonParser._skipWS(UTF8DataInputJsonParser.java:2177)
    at com.fasterxml.jackson.core.json.UTF8DataInputJsonParser.nextToken(UTF8DataInputJsonParser.java:572)
    at com.fasterxml.jackson.core.read.TrailingCommasTest.testStandardArray(TrailingCommasTest.java:50)

Test code:

        String json = "[\"a\", \"b\"]";
        JsonParser p = createParser(new JsonFactory(), MODE_DATA_INPUT, json);

        assertEquals(JsonToken.START_ARRAY, p.nextToken());
        assertToken(JsonToken.VALUE_STRING, p.nextToken());
        assertEquals("a", p.getText());
        assertToken(JsonToken.VALUE_STRING, p.nextToken());
        assertEquals("b", p.getText());
        assertEquals(JsonToken.END_ARRAY, p.nextToken());
        assertNull(p.nextToken());  // throws

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions