Search in sources :

Example 6 with AsyncReaderWrapper

use of com.fasterxml.jackson.core.testsupport.AsyncReaderWrapper in project jackson-core by FasterXML.

the class AsyncMissingValuesInArrayTest method createParser.

private AsyncReaderWrapper createParser(JsonFactory f, String doc) throws IOException {
    // should vary but...
    int bytesPerRead = 3;
    AsyncReaderWrapper p = asyncForBytes(f, bytesPerRead, _jsonDoc(doc), 0);
    return p;
}
Also used : AsyncReaderWrapper(com.fasterxml.jackson.core.testsupport.AsyncReaderWrapper)

Example 7 with AsyncReaderWrapper

use of com.fasterxml.jackson.core.testsupport.AsyncReaderWrapper in project jackson-core by FasterXML.

the class AsyncMissingValuesInArrayTest method testArrayTrailingCommasTriple.

@Test
public void testArrayTrailingCommasTriple() throws Exception {
    String json = "[\"a\", \"b\",,,]";
    AsyncReaderWrapper p = createParser(factory, json);
    assertEquals(JsonToken.START_ARRAY, p.nextToken());
    assertToken(JsonToken.VALUE_STRING, p.nextToken());
    assertEquals("a", p.currentText());
    assertToken(JsonToken.VALUE_STRING, p.nextToken());
    assertEquals("b", p.currentText());
    // ALLOW_TRAILING_COMMA takes priority over ALLOW_MISSING_VALUES
    if (features.contains(Feature.ALLOW_MISSING_VALUES) && features.contains(Feature.ALLOW_TRAILING_COMMA)) {
        assertToken(JsonToken.VALUE_NULL, p.nextToken());
        assertToken(JsonToken.VALUE_NULL, p.nextToken());
        assertToken(JsonToken.END_ARRAY, p.nextToken());
        assertEnd(p);
    } else if (features.contains(Feature.ALLOW_MISSING_VALUES)) {
        assertToken(JsonToken.VALUE_NULL, p.nextToken());
        assertToken(JsonToken.VALUE_NULL, p.nextToken());
        assertToken(JsonToken.VALUE_NULL, p.nextToken());
        assertToken(JsonToken.END_ARRAY, p.nextToken());
        assertEnd(p);
    } else {
        assertUnexpected(p, ',');
    }
    p.close();
}
Also used : AsyncReaderWrapper(com.fasterxml.jackson.core.testsupport.AsyncReaderWrapper) Test(org.junit.Test)

Example 8 with AsyncReaderWrapper

use of com.fasterxml.jackson.core.testsupport.AsyncReaderWrapper in project jackson-core by FasterXML.

the class AsyncNumberCoercionTest method testToLongFailing.

public void testToLongFailing() throws Exception {
    AsyncReaderWrapper p;
    // BigInteger -> error
    BigInteger big = BigInteger.valueOf(Long.MAX_VALUE).add(BigInteger.TEN);
    p = createParser(String.valueOf(big));
    assertToken(JsonToken.VALUE_NUMBER_INT, p.nextToken());
    assertEquals(NumberType.BIG_INTEGER, p.getNumberType());
    assertEquals(big, p.getBigIntegerValue());
    assertEquals(big, p.getNumberValue());
    try {
        p.getLongValue();
        fail("Should not pass");
    } catch (JsonParseException e) {
        verifyException(e, "out of range of long");
    }
    BigInteger small = BigInteger.valueOf(Long.MIN_VALUE).subtract(BigInteger.TEN);
    p = createParser(String.valueOf(small));
    assertToken(JsonToken.VALUE_NUMBER_INT, p.nextToken());
    assertEquals(small, p.getBigIntegerValue());
    try {
        p.getLongValue();
        fail("Should not pass");
    } catch (JsonParseException e) {
        verifyException(e, "out of range of long");
    }
}
Also used : AsyncReaderWrapper(com.fasterxml.jackson.core.testsupport.AsyncReaderWrapper) BigInteger(java.math.BigInteger) JsonParseException(com.fasterxml.jackson.core.JsonParseException)

Example 9 with AsyncReaderWrapper

use of com.fasterxml.jackson.core.testsupport.AsyncReaderWrapper in project jackson-core by FasterXML.

the class AsyncParserNamesTest method testSymbolTableWithIntern.

public void testSymbolTableWithIntern() throws IOException {
    JsonFactory internF = JsonFactory.builder().enable(TokenStreamFactory.Feature.INTERN_FIELD_NAMES).build();
    final String STR1 = "a";
    byte[] doc = _jsonDoc("{ " + quote(STR1) + ":1, \"foobar\":2, \"longername\":3 }");
    AsyncReaderWrapper p = asyncForBytes(internF, 5, doc, 0);
    final ByteQuadsCanonicalizer symbols1 = ((NonBlockingJsonParserBase) p.parser()).symbolTableForTests();
    assertEquals(0, symbols1.size());
    assertEquals(JsonToken.START_OBJECT, p.nextToken());
    assertEquals(JsonToken.FIELD_NAME, p.nextToken());
    assertSame(STR1, p.currentName());
    assertEquals(1, symbols1.size());
    assertEquals(JsonToken.VALUE_NUMBER_INT, p.nextToken());
    assertEquals(JsonToken.FIELD_NAME, p.nextToken());
    assertSame("foobar", p.currentName());
    assertEquals(2, symbols1.size());
    assertEquals(JsonToken.VALUE_NUMBER_INT, p.nextToken());
    assertEquals(JsonToken.FIELD_NAME, p.nextToken());
    assertSame("longername", p.currentName());
    assertEquals(3, symbols1.size());
    assertEquals(JsonToken.VALUE_NUMBER_INT, p.nextToken());
    assertEquals(JsonToken.END_OBJECT, p.nextToken());
    assertNull(p.nextToken());
    assertEquals(3, symbols1.size());
    p.close();
}
Also used : AsyncReaderWrapper(com.fasterxml.jackson.core.testsupport.AsyncReaderWrapper) JsonFactory(com.fasterxml.jackson.core.json.JsonFactory) ByteQuadsCanonicalizer(com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer) NonBlockingJsonParserBase(com.fasterxml.jackson.core.json.async.NonBlockingJsonParserBase)

Example 10 with AsyncReaderWrapper

use of com.fasterxml.jackson.core.testsupport.AsyncReaderWrapper in project jackson-core by FasterXML.

the class AsyncRootValuesTest method _testTokenRootSequence.

private void _testTokenRootSequence(JsonFactory f, byte[] data, int offset, int readSize) throws IOException {
    AsyncReaderWrapper r = asyncForBytes(f, readSize, data, offset);
    assertNull(r.currentToken());
    assertToken(JsonToken.START_ARRAY, r.nextToken());
    assertToken(JsonToken.VALUE_TRUE, r.nextToken());
    assertToken(JsonToken.VALUE_FALSE, r.nextToken());
    assertToken(JsonToken.VALUE_NULL, r.nextToken());
    assertToken(JsonToken.VALUE_NULL, r.nextToken());
    assertToken(JsonToken.VALUE_TRUE, r.nextToken());
    assertToken(JsonToken.VALUE_FALSE, r.nextToken());
    assertToken(JsonToken.END_ARRAY, r.nextToken());
    assertNull(r.nextToken());
    assertTrue(r.isClosed());
}
Also used : AsyncReaderWrapper(com.fasterxml.jackson.core.testsupport.AsyncReaderWrapper)

Aggregations

AsyncReaderWrapper (com.fasterxml.jackson.core.testsupport.AsyncReaderWrapper)87 Test (org.junit.Test)10 JsonFactory (com.fasterxml.jackson.core.json.JsonFactory)5 BigDecimal (java.math.BigDecimal)4 IOException (java.io.IOException)3 BigInteger (java.math.BigInteger)3 JsonParseException (com.fasterxml.jackson.core.JsonParseException)2 NonBlockingJsonParserBase (com.fasterxml.jackson.core.json.async.NonBlockingJsonParserBase)2 ByteQuadsCanonicalizer (com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer)2 ByteArrayOutputStream (java.io.ByteArrayOutputStream)2