Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
cowtowncoder committed Nov 19, 2020
1 parent 3a659da commit e647706
Showing 1 changed file with 38 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -151,22 +151,22 @@ public void testEmptyStrings() throws IOException
assertNull(p.nextToken());
p.close();
}

// Test for ASCII String values longer than 64 bytes; separate
// since handling differs
public void testLongAsciiString() throws IOException
{
final String DIGITS = "1234567890";
String LONG = DIGITS + DIGITS + DIGITS + DIGITS;
LONG = LONG + LONG + LONG + LONG;
byte[] data = _smileDoc(quote(LONG));
final String DIGITS = "1234567890";
String LONG = DIGITS + DIGITS + DIGITS + DIGITS;
LONG = LONG + LONG + LONG + LONG;
byte[] data = _smileDoc(quote(LONG));

SmileParser p = _smileParser(data);
assertNull(p.getCurrentToken());
assertToken(JsonToken.VALUE_STRING, p.nextToken());
assertEquals(LONG, p.getText());
assertNull(p.nextToken());
p.close();
SmileParser p = _smileParser(data);
assertNull(p.getCurrentToken());
assertToken(JsonToken.VALUE_STRING, p.nextToken());
assertEquals(LONG, p.getText());
assertNull(p.nextToken());
p.close();
}

//Test for non-ASCII String values longer than 64 bytes; separate
Expand All @@ -192,22 +192,37 @@ public void testLongUnicodeString() throws IOException
p.close();
}

// Simple test for encoding where "Unicode" string value is
// actually ascii (which is fine, encoders need not ensure it is not,
// it's just not guaranteeing content IS ascii)
public void testShortAsciiAsUnicodeString() throws IOException
{
byte[] data = new byte[] {
(byte) 0x82, 0x64, 0x61, 0x74, 0x61
};
try (SmileParser p = _smileParser(data)) {
assertToken(JsonToken.VALUE_STRING, p.nextToken());
assertEquals("data", p.getText());
assertNull(p.nextToken());
}
}

public void testTrivialObject() throws IOException
{
byte[] data = _smileDoc("{\"abc\":13}");
SmileParser p = _smileParser(data);
assertNull(p.getCurrentToken());
byte[] data = _smileDoc("{\"abc\":13}");
SmileParser p = _smileParser(data);
assertNull(p.getCurrentToken());

assertToken(JsonToken.START_OBJECT, p.nextToken());
assertToken(JsonToken.FIELD_NAME, p.nextToken());
assertEquals("abc", p.getCurrentName());
assertEquals("abc", p.getText());
assertToken(JsonToken.VALUE_NUMBER_INT, p.nextToken());
assertEquals(13, p.getIntValue());
assertToken(JsonToken.END_OBJECT, p.nextToken());
p.close();
assertToken(JsonToken.START_OBJECT, p.nextToken());
assertToken(JsonToken.FIELD_NAME, p.nextToken());
assertEquals("abc", p.getCurrentName());
assertEquals("abc", p.getText());
assertToken(JsonToken.VALUE_NUMBER_INT, p.nextToken());
assertEquals(13, p.getIntValue());
assertToken(JsonToken.END_OBJECT, p.nextToken());
p.close();
}

public void testSimpleObject() throws IOException
{
byte[] data = _smileDoc("{\"a\":8, \"b\" : [ true ], \"c\" : { }, \"d\":{\"e\":null}}");
Expand Down

0 comments on commit e647706

Please sign in to comment.