You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by sa...@apache.org on 2014/09/11 20:29:38 UTC
[22/22] git commit: Merge remote-tracking branch 'origin/renaming'
Merge remote-tracking branch 'origin/renaming'
Project: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/commit/89381a7d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/tree/89381a7d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/diff/89381a7d
Branch: refs/heads/master
Commit: 89381a7d6548bb1daccf594912fd1f8279d8d09d
Parents: 72e0a81 6e86a53
Author: salyh <he...@gmail.com>
Authored: Thu Sep 11 19:43:34 2014 +0200
Committer: salyh <he...@gmail.com>
Committed: Thu Sep 11 19:43:34 2014 +0200
----------------------------------------------------------------------
DISCLAIMER | 6 +-
fleece-core/pom.xml | 36 -
.../org/apache/fleece/core/BufferStrategy.java | 272 -
.../fleece/core/JsonArrayBuilderImpl.java | 130 -
.../org/apache/fleece/core/JsonArrayImpl.java | 174 -
.../fleece/core/JsonBuilderFactoryImpl.java | 61 -
.../java/org/apache/fleece/core/JsonChars.java | 82 -
.../org/apache/fleece/core/JsonDoubleImpl.java | 102 -
.../fleece/core/JsonGeneratorFactoryImpl.java | 121 -
.../apache/fleece/core/JsonGeneratorImpl.java | 870 -
.../apache/fleece/core/JsonInMemoryParser.java | 180 -
.../apache/fleece/core/JsonLocationImpl.java | 80 -
.../org/apache/fleece/core/JsonLongImpl.java | 97 -
.../org/apache/fleece/core/JsonNumberImpl.java | 107 -
.../fleece/core/JsonObjectBuilderImpl.java | 131 -
.../org/apache/fleece/core/JsonObjectImpl.java | 167 -
.../fleece/core/JsonParserFactoryImpl.java | 149 -
.../fleece/core/JsonPrettyGeneratorImpl.java | 305 -
.../apache/fleece/core/JsonProviderImpl.java | 205 -
.../fleece/core/JsonReaderFactoryImpl.java | 72 -
.../org/apache/fleece/core/JsonReaderImpl.java | 208 -
.../fleece/core/JsonStreamParserImpl.java | 964 -
.../org/apache/fleece/core/JsonStringImpl.java | 76 -
.../fleece/core/JsonWriterFactoryImpl.java | 77 -
.../org/apache/fleece/core/JsonWriterImpl.java | 73 -
.../core/RFC4627AwareInputStreamReader.java | 130 -
.../java/org/apache/fleece/core/Strings.java | 127 -
.../fleece/core/ThreadLocalBufferCache.java | 53 -
.../services/javax.json.spi.JsonProvider | 1 -
.../fleece/core/JsonArrayBuilderImplTest.java | 170 -
.../apache/fleece/core/JsonArrayImplTest.java | 61 -
.../fleece/core/JsonGeneratorImplTest.java | 281 -
.../org/apache/fleece/core/JsonNumberTest.java | 51 -
.../fleece/core/JsonObjectBuilderImplTest.java | 35 -
.../apache/fleece/core/JsonObjectImplTest.java | 35 -
.../org/apache/fleece/core/JsonParserTest.java | 1418 -
.../apache/fleece/core/JsonReaderImplTest.java | 452 -
.../apache/fleece/core/JsonWriterImplTest.java | 42 -
.../org/apache/fleece/core/LocationTest.java | 235 -
.../src/test/resources/bench/big_600kb.json | 21170 --------
.../src/test/resources/bench/huge_1mb.json | 44003 -----------------
.../src/test/resources/bench/large_130kb.json | 4328 --
.../src/test/resources/bench/medium_11kb.json | 443 -
.../src/test/resources/bench/small_3kb.json | 86 -
.../src/test/resources/bench/tiny_50b.json | 5 -
.../resources/bench/unicode_chars_1400kb.txt | Bin 1424384 -> 0 bytes
.../resources/bench/unicode_chars_170kb.txt | Bin 178048 -> 0 bytes
fleece-core/src/test/resources/json/array.json | 8 -
.../src/test/resources/json/bigdecimal.json | 5 -
fleece-core/src/test/resources/json/empty.json | 1 -
.../src/test/resources/json/emptyarray.json | 3 -
.../src/test/resources/json/escaping.json | 11 -
.../src/test/resources/json/fails/fail1.json | 8 -
.../src/test/resources/json/fails/fail10.json | 7 -
.../src/test/resources/json/fails/fail11.json | 8 -
.../src/test/resources/json/fails/fail12.json | 8 -
.../src/test/resources/json/fails/fail13.json | 8 -
.../src/test/resources/json/fails/fail14.json | 8 -
.../src/test/resources/json/fails/fail15.json | 11 -
.../src/test/resources/json/fails/fail16.json | 9 -
.../src/test/resources/json/fails/fail17.json | 9 -
.../src/test/resources/json/fails/fail18.json | 11 -
.../src/test/resources/json/fails/fail19.json | 10 -
.../src/test/resources/json/fails/fail2.json | 8 -
.../src/test/resources/json/fails/fail20.json | 10 -
.../src/test/resources/json/fails/fail21.json | 10 -
.../src/test/resources/json/fails/fail22.json | 1 -
.../src/test/resources/json/fails/fail23.json | 8 -
.../src/test/resources/json/fails/fail24.json | 5 -
.../src/test/resources/json/fails/fail25.json | 8 -
.../src/test/resources/json/fails/fail26.json | 7 -
.../src/test/resources/json/fails/fail27.json | 7 -
.../src/test/resources/json/fails/fail28.json | 7 -
.../src/test/resources/json/fails/fail29.json | 7 -
.../src/test/resources/json/fails/fail3.json | 8 -
.../src/test/resources/json/fails/fail30.json | 7 -
.../src/test/resources/json/fails/fail31.json | 7 -
.../src/test/resources/json/fails/fail32.json | 7 -
.../src/test/resources/json/fails/fail33.json | 7 -
.../src/test/resources/json/fails/fail34.json | 7 -
.../src/test/resources/json/fails/fail35.json | 7 -
.../src/test/resources/json/fails/fail36.json | 3 -
.../src/test/resources/json/fails/fail37.json | 4 -
.../src/test/resources/json/fails/fail38.json | 3 -
.../src/test/resources/json/fails/fail39.json | 3 -
.../src/test/resources/json/fails/fail4.json | 8 -
.../src/test/resources/json/fails/fail40.json | 4 -
.../src/test/resources/json/fails/fail41.json | 3 -
.../src/test/resources/json/fails/fail42.json | 3 -
.../src/test/resources/json/fails/fail43.json | 3 -
.../src/test/resources/json/fails/fail44.json | 3 -
.../src/test/resources/json/fails/fail45.json | 3 -
.../src/test/resources/json/fails/fail46.json | 3 -
.../src/test/resources/json/fails/fail47.json | 1 -
.../src/test/resources/json/fails/fail48.json | 6 -
.../src/test/resources/json/fails/fail49.json | 1 -
.../src/test/resources/json/fails/fail5.json | 8 -
.../src/test/resources/json/fails/fail50.json | 4 -
.../src/test/resources/json/fails/fail51.json | 1 -
.../src/test/resources/json/fails/fail52.json | 1 -
.../src/test/resources/json/fails/fail53.json | 11 -
.../src/test/resources/json/fails/fail54.json | 12 -
.../src/test/resources/json/fails/fail55.json | 12 -
.../src/test/resources/json/fails/fail56.json | 11 -
.../src/test/resources/json/fails/fail57.json | 1 -
.../src/test/resources/json/fails/fail58.json | 3 -
.../src/test/resources/json/fails/fail59.json | 1 -
.../src/test/resources/json/fails/fail6.json | 8 -
.../src/test/resources/json/fails/fail60.json | 1 -
.../src/test/resources/json/fails/fail61.json | 3 -
.../src/test/resources/json/fails/fail62.json | 3 -
.../src/test/resources/json/fails/fail63.json | 3 -
.../src/test/resources/json/fails/fail64.json | 3 -
.../src/test/resources/json/fails/fail65.json | 3 -
.../src/test/resources/json/fails/fail66.json | 3 -
.../src/test/resources/json/fails/fail67.json | 3 -
.../src/test/resources/json/fails/fail68.json | 3 -
.../src/test/resources/json/fails/fail69.json | 3 -
.../src/test/resources/json/fails/fail7.json | 8 -
.../src/test/resources/json/fails/fail70.json | 3 -
.../src/test/resources/json/fails/fail71.json | 3 -
.../src/test/resources/json/fails/fail72.json | 3 -
.../src/test/resources/json/fails/fail8.json | 8 -
.../src/test/resources/json/fails/fail9.json | 8 -
.../src/test/resources/json/fails/numbers.json | 18 -
fleece-core/src/test/resources/json/nested.json | 9 -
.../src/test/resources/json/numbers.json | 18 -
fleece-core/src/test/resources/json/simple.json | 8 -
.../src/test/resources/json/simple2.json | 8 -
.../src/test/resources/json/simple_utf16le.json | Bin 136 -> 0 bytes
.../src/test/resources/json/special.json | 18 -
.../src/test/resources/json/stringescape.json | 3 -
.../src/test/resources/json/unicode.json | 10 -
fleece-jaxrs/pom.xml | 71 -
.../apache/fleece/jaxrs/DelegateProvider.java | 73 -
.../fleece/jaxrs/FleeceMessageBodyReader.java | 75 -
.../fleece/jaxrs/FleeceMessageBodyWriter.java | 88 -
.../org/apache/fleece/jaxrs/FleeceProvider.java | 41 -
.../java/org/apache/fleece/jaxrs/Jsons.java | 39 -
.../fleece/jaxrs/JsrMessageBodyReader.java | 75 -
.../fleece/jaxrs/JsrMessageBodyWriter.java | 88 -
.../org/apache/fleece/jaxrs/JsrProvider.java | 35 -
.../jaxrs/WadlDocumentMessageBodyWriter.java | 63 -
.../fleece/jaxrs/xml/WadlDocumentToJson.java | 98 -
.../apache/fleece/jaxrs/FleeceProviderTest.java | 161 -
.../apache/fleece/jaxrs/JsrProviderTest.java | 104 -
.../jaxrs/xml/WadlDocumentToJsonTest.java | 61 -
fleece-mapper/pom.xml | 44 -
.../org/apache/fleece/mapper/Converter.java | 24 -
.../apache/fleece/mapper/FleeceConverter.java | 31 -
.../org/apache/fleece/mapper/FleeceIgnore.java | 36 -
.../java/org/apache/fleece/mapper/Mapper.java | 670 -
.../org/apache/fleece/mapper/MapperBuilder.java | 127 -
.../apache/fleece/mapper/MapperException.java | 31 -
.../mapper/converter/BigDecimalConverter.java | 35 -
.../mapper/converter/BigIntegerConverter.java | 35 -
.../mapper/converter/BooleanConverter.java | 33 -
.../fleece/mapper/converter/ByteConverter.java | 33 -
.../converter/CachedDelegateConverter.java | 54 -
.../mapper/converter/CharacterConverter.java | 33 -
.../fleece/mapper/converter/ClassConverter.java | 37 -
.../fleece/mapper/converter/DateConverter.java | 54 -
.../mapper/converter/DoubleConverter.java | 33 -
.../fleece/mapper/converter/EnumConverter.java | 46 -
.../fleece/mapper/converter/FloatConverter.java | 33 -
.../mapper/converter/IntegerConverter.java | 33 -
.../fleece/mapper/converter/LongConverter.java | 33 -
.../fleece/mapper/converter/ShortConverter.java | 33 -
.../mapper/converter/StringConverter.java | 33 -
.../fleece/mapper/reflection/Mappings.java | 266 -
.../org/apache/fleece/mapper/LiteralTest.java | 253 -
.../fleece/mapper/MapperEnhancedTest.java | 304 -
.../org/apache/fleece/mapper/MapperTest.java | 505 -
.../apache/fleece/mapper/MapperVersionTest.java | 68 -
.../mapper/converter/EnumConverterTest.java | 39 -
johnzon-core/pom.xml | 36 +
.../org/apache/johnzon/core/BufferStrategy.java | 272 +
.../johnzon/core/JsonArrayBuilderImpl.java | 130 +
.../org/apache/johnzon/core/JsonArrayImpl.java | 174 +
.../johnzon/core/JsonBuilderFactoryImpl.java | 61 +
.../java/org/apache/johnzon/core/JsonChars.java | 82 +
.../org/apache/johnzon/core/JsonDoubleImpl.java | 102 +
.../johnzon/core/JsonGeneratorFactoryImpl.java | 121 +
.../apache/johnzon/core/JsonGeneratorImpl.java | 870 +
.../apache/johnzon/core/JsonInMemoryParser.java | 180 +
.../apache/johnzon/core/JsonLocationImpl.java | 80 +
.../org/apache/johnzon/core/JsonLongImpl.java | 97 +
.../org/apache/johnzon/core/JsonNumberImpl.java | 107 +
.../johnzon/core/JsonObjectBuilderImpl.java | 131 +
.../org/apache/johnzon/core/JsonObjectImpl.java | 167 +
.../johnzon/core/JsonParserFactoryImpl.java | 149 +
.../johnzon/core/JsonPrettyGeneratorImpl.java | 305 +
.../apache/johnzon/core/JsonProviderImpl.java | 205 +
.../johnzon/core/JsonReaderFactoryImpl.java | 72 +
.../org/apache/johnzon/core/JsonReaderImpl.java | 208 +
.../johnzon/core/JsonStreamParserImpl.java | 964 +
.../org/apache/johnzon/core/JsonStringImpl.java | 76 +
.../johnzon/core/JsonWriterFactoryImpl.java | 77 +
.../org/apache/johnzon/core/JsonWriterImpl.java | 73 +
.../core/RFC4627AwareInputStreamReader.java | 130 +
.../java/org/apache/johnzon/core/Strings.java | 127 +
.../johnzon/core/ThreadLocalBufferCache.java | 53 +
.../services/javax.json.spi.JsonProvider | 1 +
.../johnzon/core/JsonArrayBuilderImplTest.java | 170 +
.../apache/johnzon/core/JsonArrayImplTest.java | 61 +
.../johnzon/core/JsonGeneratorImplTest.java | 281 +
.../org/apache/johnzon/core/JsonNumberTest.java | 51 +
.../johnzon/core/JsonObjectBuilderImplTest.java | 35 +
.../apache/johnzon/core/JsonObjectImplTest.java | 35 +
.../org/apache/johnzon/core/JsonParserTest.java | 1418 +
.../apache/johnzon/core/JsonReaderImplTest.java | 452 +
.../apache/johnzon/core/JsonWriterImplTest.java | 42 +
.../org/apache/johnzon/core/LocationTest.java | 235 +
.../src/test/resources/bench/big_600kb.json | 21170 ++++++++
.../src/test/resources/bench/huge_1mb.json | 44003 +++++++++++++++++
.../src/test/resources/bench/large_130kb.json | 4328 ++
.../src/test/resources/bench/medium_11kb.json | 443 +
.../src/test/resources/bench/small_3kb.json | 86 +
.../src/test/resources/bench/tiny_50b.json | 5 +
.../resources/bench/unicode_chars_1400kb.txt | Bin 0 -> 1424384 bytes
.../resources/bench/unicode_chars_170kb.txt | Bin 0 -> 178048 bytes
johnzon-core/src/test/resources/json/array.json | 8 +
.../src/test/resources/json/bigdecimal.json | 5 +
johnzon-core/src/test/resources/json/empty.json | 1 +
.../src/test/resources/json/emptyarray.json | 3 +
.../src/test/resources/json/escaping.json | 11 +
.../src/test/resources/json/fails/fail1.json | 8 +
.../src/test/resources/json/fails/fail10.json | 7 +
.../src/test/resources/json/fails/fail11.json | 8 +
.../src/test/resources/json/fails/fail12.json | 8 +
.../src/test/resources/json/fails/fail13.json | 8 +
.../src/test/resources/json/fails/fail14.json | 8 +
.../src/test/resources/json/fails/fail15.json | 11 +
.../src/test/resources/json/fails/fail16.json | 9 +
.../src/test/resources/json/fails/fail17.json | 9 +
.../src/test/resources/json/fails/fail18.json | 11 +
.../src/test/resources/json/fails/fail19.json | 10 +
.../src/test/resources/json/fails/fail2.json | 8 +
.../src/test/resources/json/fails/fail20.json | 10 +
.../src/test/resources/json/fails/fail21.json | 10 +
.../src/test/resources/json/fails/fail22.json | 1 +
.../src/test/resources/json/fails/fail23.json | 8 +
.../src/test/resources/json/fails/fail24.json | 5 +
.../src/test/resources/json/fails/fail25.json | 8 +
.../src/test/resources/json/fails/fail26.json | 7 +
.../src/test/resources/json/fails/fail27.json | 7 +
.../src/test/resources/json/fails/fail28.json | 7 +
.../src/test/resources/json/fails/fail29.json | 7 +
.../src/test/resources/json/fails/fail3.json | 8 +
.../src/test/resources/json/fails/fail30.json | 7 +
.../src/test/resources/json/fails/fail31.json | 7 +
.../src/test/resources/json/fails/fail32.json | 7 +
.../src/test/resources/json/fails/fail33.json | 7 +
.../src/test/resources/json/fails/fail34.json | 7 +
.../src/test/resources/json/fails/fail35.json | 7 +
.../src/test/resources/json/fails/fail36.json | 3 +
.../src/test/resources/json/fails/fail37.json | 4 +
.../src/test/resources/json/fails/fail38.json | 3 +
.../src/test/resources/json/fails/fail39.json | 3 +
.../src/test/resources/json/fails/fail4.json | 8 +
.../src/test/resources/json/fails/fail40.json | 4 +
.../src/test/resources/json/fails/fail41.json | 3 +
.../src/test/resources/json/fails/fail42.json | 3 +
.../src/test/resources/json/fails/fail43.json | 3 +
.../src/test/resources/json/fails/fail44.json | 3 +
.../src/test/resources/json/fails/fail45.json | 3 +
.../src/test/resources/json/fails/fail46.json | 3 +
.../src/test/resources/json/fails/fail47.json | 1 +
.../src/test/resources/json/fails/fail48.json | 6 +
.../src/test/resources/json/fails/fail49.json | 1 +
.../src/test/resources/json/fails/fail5.json | 8 +
.../src/test/resources/json/fails/fail50.json | 4 +
.../src/test/resources/json/fails/fail51.json | 1 +
.../src/test/resources/json/fails/fail52.json | 1 +
.../src/test/resources/json/fails/fail53.json | 11 +
.../src/test/resources/json/fails/fail54.json | 12 +
.../src/test/resources/json/fails/fail55.json | 12 +
.../src/test/resources/json/fails/fail56.json | 11 +
.../src/test/resources/json/fails/fail57.json | 1 +
.../src/test/resources/json/fails/fail58.json | 3 +
.../src/test/resources/json/fails/fail59.json | 1 +
.../src/test/resources/json/fails/fail6.json | 8 +
.../src/test/resources/json/fails/fail60.json | 1 +
.../src/test/resources/json/fails/fail61.json | 3 +
.../src/test/resources/json/fails/fail62.json | 3 +
.../src/test/resources/json/fails/fail63.json | 3 +
.../src/test/resources/json/fails/fail64.json | 3 +
.../src/test/resources/json/fails/fail65.json | 3 +
.../src/test/resources/json/fails/fail66.json | 3 +
.../src/test/resources/json/fails/fail67.json | 3 +
.../src/test/resources/json/fails/fail68.json | 3 +
.../src/test/resources/json/fails/fail69.json | 3 +
.../src/test/resources/json/fails/fail7.json | 8 +
.../src/test/resources/json/fails/fail70.json | 3 +
.../src/test/resources/json/fails/fail71.json | 3 +
.../src/test/resources/json/fails/fail72.json | 3 +
.../src/test/resources/json/fails/fail8.json | 8 +
.../src/test/resources/json/fails/fail9.json | 8 +
.../src/test/resources/json/fails/numbers.json | 18 +
.../src/test/resources/json/nested.json | 9 +
.../src/test/resources/json/numbers.json | 18 +
.../src/test/resources/json/simple.json | 8 +
.../src/test/resources/json/simple2.json | 8 +
.../src/test/resources/json/simple_utf16le.json | Bin 0 -> 136 bytes
.../src/test/resources/json/special.json | 18 +
.../src/test/resources/json/stringescape.json | 3 +
.../src/test/resources/json/unicode.json | 10 +
johnzon-jaxrs/pom.xml | 71 +
.../apache/johnzon/jaxrs/DelegateProvider.java | 73 +
.../johnzon/jaxrs/JohnzonMessageBodyReader.java | 75 +
.../johnzon/jaxrs/JohnzonMessageBodyWriter.java | 88 +
.../apache/johnzon/jaxrs/JohnzonProvider.java | 41 +
.../java/org/apache/johnzon/jaxrs/Jsons.java | 39 +
.../johnzon/jaxrs/JsrMessageBodyReader.java | 75 +
.../johnzon/jaxrs/JsrMessageBodyWriter.java | 88 +
.../org/apache/johnzon/jaxrs/JsrProvider.java | 35 +
.../jaxrs/WadlDocumentMessageBodyWriter.java | 63 +
.../johnzon/jaxrs/xml/WadlDocumentToJson.java | 98 +
.../johnzon/jaxrs/JohnzonProviderTest.java | 161 +
.../apache/johnzon/jaxrs/JsrProviderTest.java | 104 +
.../jaxrs/xml/WadlDocumentToJsonTest.java | 61 +
johnzon-mapper/pom.xml | 44 +
.../org/apache/johnzon/mapper/Converter.java | 24 +
.../apache/johnzon/mapper/JohnzonConverter.java | 31 +
.../apache/johnzon/mapper/JohnzonIgnore.java | 36 +
.../java/org/apache/johnzon/mapper/Mapper.java | 670 +
.../apache/johnzon/mapper/MapperBuilder.java | 127 +
.../apache/johnzon/mapper/MapperException.java | 31 +
.../mapper/converter/BigDecimalConverter.java | 35 +
.../mapper/converter/BigIntegerConverter.java | 35 +
.../mapper/converter/BooleanConverter.java | 33 +
.../johnzon/mapper/converter/ByteConverter.java | 33 +
.../converter/CachedDelegateConverter.java | 54 +
.../mapper/converter/CharacterConverter.java | 33 +
.../mapper/converter/ClassConverter.java | 37 +
.../johnzon/mapper/converter/DateConverter.java | 54 +
.../mapper/converter/DoubleConverter.java | 33 +
.../johnzon/mapper/converter/EnumConverter.java | 46 +
.../mapper/converter/FloatConverter.java | 33 +
.../mapper/converter/IntegerConverter.java | 33 +
.../johnzon/mapper/converter/LongConverter.java | 33 +
.../mapper/converter/ShortConverter.java | 33 +
.../mapper/converter/StringConverter.java | 33 +
.../johnzon/mapper/reflection/Mappings.java | 266 +
.../org/apache/johnzon/mapper/LiteralTest.java | 253 +
.../johnzon/mapper/MapperEnhancedTest.java | 304 +
.../org/apache/johnzon/mapper/MapperTest.java | 505 +
.../johnzon/mapper/MapperVersionTest.java | 68 +
.../mapper/converter/EnumConverterTest.java | 39 +
pom.xml | 42 +-
src/site/markdown/index.md | 28 +-
src/site/site.xml | 10 +-
352 files changed, 82466 insertions(+), 82466 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/89381a7d/johnzon-core/src/test/java/org/apache/johnzon/core/JsonParserTest.java
----------------------------------------------------------------------
diff --cc johnzon-core/src/test/java/org/apache/johnzon/core/JsonParserTest.java
index 0000000,745132b..007a78f
mode 000000,100644..100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonParserTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonParserTest.java
@@@ -1,0 -1,1419 +1,1418 @@@
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+ package org.apache.johnzon.core;
+
+ import static org.junit.Assert.assertEquals;
+ import static org.junit.Assert.assertFalse;
+ import static org.junit.Assert.assertNotNull;
+ import static org.junit.Assert.assertTrue;
+ import static org.junit.Assert.fail;
+
+ import java.io.ByteArrayInputStream;
+ import java.io.CharArrayReader;
+ import java.io.IOException;
+ import java.io.InputStream;
+ import java.math.BigDecimal;
+ import java.nio.charset.Charset;
+ import java.util.Collections;
+ import java.util.HashMap;
+ import java.util.NoSuchElementException;
+
+ import javax.json.Json;
+ import javax.json.JsonArray;
+ import javax.json.JsonArrayBuilder;
+ import javax.json.JsonException;
+ import javax.json.JsonObjectBuilder;
+ import javax.json.JsonReader;
+ import javax.json.stream.JsonParser;
+ import javax.json.stream.JsonParser.Event;
+ import javax.json.stream.JsonParsingException;
+
+ import org.junit.Test;
+
+ public class JsonParserTest {
+
+
+ static final Charset UTF_8 = Charset.forName("UTF-8");
+ static final Charset UTF_16BE = Charset.forName("UTF-16BE");
+ static final Charset UTF_16LE = Charset.forName("UTF-16LE");
+ static final Charset UTF_16 = Charset.forName("UTF-16");
+ static final Charset UTF_32LE = Charset.forName("UTF-32LE");
+ static final Charset UTF_32BE = Charset.forName("UTF-32BE");
+
+ public JsonParserTest() {
- super();
+ if (!Charset.defaultCharset().equals(Charset.forName("UTF-8"))) {
- throw new RuntimeException("Default charset is " + Charset.defaultCharset() + ", must must be UTF-8");
++ System.err.println("Default charset is " + Charset.defaultCharset() + ", must must be UTF-8");
+ }
+ }
+
+ private void assertSimple(final JsonParser parser) {
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.START_OBJECT, event);
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.KEY_NAME, event);
+ assertEquals("a", parser.getString());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_STRING, event);
+ assertEquals("b", parser.getString());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.KEY_NAME, event);
+ assertEquals("c", parser.getString());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertTrue(parser.isIntegralNumber());
+ assertEquals(4, parser.getInt());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.KEY_NAME, event);
+ assertEquals("d", parser.getString());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.START_ARRAY, event);
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertEquals(1, parser.getInt());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertEquals(-2, parser.getInt());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.END_ARRAY, event);
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.END_OBJECT, event);
+ }
+ {
+ assertFalse(parser.hasNext());
+ }
+ parser.close();
+ }
+
+ @Test
+ public void array() {
+ final JsonReader loadInMemReader = Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/array.json"));
+ assertNotNull(loadInMemReader);
+ final JsonArray array = loadInMemReader.readArray();
+ assertNotNull(array);
+
+ final JsonParser parser = Json.createParserFactory(Collections.<String, Object>emptyMap()).createParser(array);
+ assertNotNull(parser);
+
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.START_ARRAY, event);
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_STRING, event);
+ assertEquals("a", parser.getString());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertEquals(1, parser.getInt());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.START_OBJECT, event);
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.KEY_NAME, event);
+ assertEquals("b", parser.getString());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_STRING, event);
+ assertEquals("c", parser.getString());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.END_OBJECT, event);
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertEquals(5, parser.getInt());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.END_ARRAY, event);
+ }
+ {
+ assertFalse(parser.hasNext());
+ }
+ }
+
+ @Test
+ public void simpleInMemory() {
+ final JsonObjectBuilder ob = Json.createObjectBuilder();
+ ob.add("a", new JsonStringImpl("b"));
+ ob.add("c", new JsonNumberImpl(new BigDecimal(4)));
+ JsonArrayBuilder ab = Json.createArrayBuilder();
+ ab.add(new JsonNumberImpl(new BigDecimal(1)));
+ ab.add(new JsonNumberImpl(new BigDecimal(-2)));
+
+ ob.add("d", ab);
+
+ final JsonParser parser = Json.createParserFactory(Collections.<String, Object>emptyMap()).createParser(ob.build());
+ assertNotNull(parser);
+ assertSimple(parser);
+ }
+
+ @Test
+ public void simple() {
+ final JsonParser parser = Json.createParser(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/simple.json"));
+ assertNotNull(parser);
+ assertSimple(parser);
+ }
+
+ @Test
+ public void simpleUTF16LE() {
+ final JsonParser parser = Json.createParserFactory(null).createParser(Thread.currentThread()
+ .getContextClassLoader().getResourceAsStream("json/simple_utf16le.json"),UTF_16LE);
+ assertNotNull(parser);
+ assertSimple(parser);
+ }
+
+ @Test
+ public void simpleUTF16LEAutoDetect() {
+ final JsonParser parser = Json.createParserFactory(null).createParser(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/simple_utf16le.json"));
+ assertNotNull(parser);
+ assertSimple(parser);
+ }
+
+
+ @Test
+ public void nested() {
+ final JsonParser parser = Json.createParser(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/nested.json"));
+ assertNotNull(parser);
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.START_OBJECT, event);
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.KEY_NAME, event);
+ assertEquals("a", parser.getString());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_STRING, event);
+ assertEquals("b", parser.getString());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.KEY_NAME, event);
+ assertEquals("c", parser.getString());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.START_OBJECT, event);
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.KEY_NAME, event);
+ assertEquals("d", parser.getString());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.START_ARRAY, event);
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertEquals(1, parser.getInt());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertEquals(2, parser.getInt());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.END_ARRAY, event);
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.END_OBJECT, event);
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.END_OBJECT, event);
+ }
+ {
+ assertFalse(parser.hasNext());
+ }
+ parser.close();
+ }
+
+
+ @Test
+ public void numbers() {
+ final JsonParser parser = Json.createParser(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/numbers.json"));
+ assertNotNull(parser);
+ parser.next();
+ parser.next();
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertTrue(parser.isIntegralNumber());
+ assertEquals(0, parser.getInt());
+ assertEquals(0, parser.getLong());
+ assertEquals(new BigDecimal(0), parser.getBigDecimal());
+ }
+ parser.next();
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertTrue(parser.isIntegralNumber());
+ assertEquals(0, parser.getInt());
+ assertEquals(0, parser.getLong());
+ assertEquals(new BigDecimal(0), parser.getBigDecimal());
+ }
+ parser.next();
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertTrue(parser.isIntegralNumber());
+ assertEquals(1, parser.getInt());
+ assertEquals(1, parser.getLong());
+ assertEquals(new BigDecimal(1), parser.getBigDecimal());
+ }
+ parser.next();
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertTrue(parser.isIntegralNumber());
+ assertEquals(-1, parser.getInt());
+ assertEquals(-1L, parser.getLong());
+ assertEquals(new BigDecimal(-1), parser.getBigDecimal());
+ }
+
+ parser.next();
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertTrue(parser.isIntegralNumber());
+ assertEquals(9, parser.getInt());
+ assertEquals(9L, parser.getLong());
+ assertEquals(new BigDecimal(9), parser.getBigDecimal());
+ }
+ parser.next();
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertTrue(parser.isIntegralNumber());
+ assertEquals(-9, parser.getInt());
+ assertEquals(-9, parser.getLong());
+ assertEquals(new BigDecimal(-9), parser.getBigDecimal());
+ }
+ parser.next();
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertTrue(parser.isIntegralNumber());
+ assertEquals(10, parser.getInt());
+ assertEquals(10, parser.getLong());
+ assertEquals(new BigDecimal(10), parser.getBigDecimal());
+ }
+ parser.next();
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertTrue(parser.isIntegralNumber());
+ assertEquals(-10, parser.getInt());
+ assertEquals(-10, parser.getLong());
+ assertEquals(new BigDecimal(-10), parser.getBigDecimal());
+ }
+ parser.next();
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertTrue(parser.isIntegralNumber());
+ assertEquals(100, parser.getInt());
+ assertEquals(100, parser.getLong());
+ assertEquals(new BigDecimal(100), parser.getBigDecimal());
+ }
+ parser.next();
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertTrue(parser.isIntegralNumber());
+ assertEquals(-100, parser.getInt());
+ assertEquals(-100, parser.getLong());
+ assertEquals(new BigDecimal(-100), parser.getBigDecimal());
+ }
+ parser.next();
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertTrue(parser.isIntegralNumber());
+ assertEquals(456, parser.getInt());
+ assertEquals(456, parser.getLong());
+ assertEquals(new BigDecimal(456), parser.getBigDecimal());
+ }
+ parser.next();
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertTrue(parser.isIntegralNumber());
+ assertEquals(-456, parser.getInt());
+ assertEquals(-456, parser.getLong());
+ assertEquals(new BigDecimal(-456), parser.getBigDecimal());
+ }
+ parser.next();
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertTrue(!parser.isIntegralNumber());
+ assertEquals(123, parser.getInt());
+ assertEquals(123, parser.getLong());
+ assertEquals(new BigDecimal("123.12345"), parser.getBigDecimal());
+ }
+ parser.next();
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertTrue(!parser.isIntegralNumber());
+ assertEquals(-123, parser.getInt());
+ assertEquals(-123, parser.getLong());
+ assertEquals(new BigDecimal("-123.12345"), parser.getBigDecimal());
+ }
+ parser.next();
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertTrue(parser.isIntegralNumber());
+ //assertEquals(Integer.MAX_VALUE, parser.getInt());
+ //assertEquals(Long.MAX_VALUE, parser.getLong());
+ assertEquals(new BigDecimal("999999999999999999999999999999"), parser.getBigDecimal());
+ }
+ parser.next();
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertTrue(parser.isIntegralNumber());
+ //assertEquals(Integer.MIN_VALUE, parser.getInt());
+ //assertEquals(Long.MIN_VALUE, parser.getLong());
+ assertEquals(new BigDecimal("-999999999999999999999999999999"), parser.getBigDecimal());
+ }
+ parser.next();
+
+ {
+ assertFalse(parser.hasNext());
+ }
+ parser.close();
+ }
+
+
+ @Test
+ public void bigdecimal() {
+ final JsonParser parser = Json.createParser(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/bigdecimal.json"));
+ assertNotNull(parser);
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.START_OBJECT, event);
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.KEY_NAME, event);
+ assertEquals("a", parser.getString());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertFalse(parser.isIntegralNumber());
+ assertEquals(new BigDecimal("1.23E3"), parser.getBigDecimal());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.KEY_NAME, event);
+ assertEquals("b", parser.getString());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertFalse(parser.isIntegralNumber());
+ assertEquals(new BigDecimal("1.23E-3"), parser.getBigDecimal());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.KEY_NAME, event);
+ assertEquals("c", parser.getString());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.VALUE_NUMBER, event);
+ assertFalse(parser.isIntegralNumber());
+ assertEquals(new BigDecimal("1.23E+3"), parser.getBigDecimal());
+ }
+ {
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.END_OBJECT, event);
+ }
+ {
+ assertFalse(parser.hasNext());
+ }
+ parser.close();
+ }
+
+ @Test(expected=IllegalStateException.class)
+ public void isIntegralThrowsISE() {
+ final JsonParser parser = Json.createParser(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/bigdecimal.json"));
+ assertNotNull(parser);
+ assertTrue(parser.hasNext());
+ final JsonParser.Event event = parser.next();
+ assertNotNull(event);
+ assertEquals(JsonParser.Event.START_OBJECT, event);
+ assertFalse(parser.isIntegralNumber());
+
+ }
+
+ @Test
+ public void escaping() {
+ final JsonParser parser = Json.createParser(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/escaping.json"));
+ parser.next();
+ parser.next();
+ assertEquals("\"", parser.getString());
+ parser.next();
+ assertEquals("\\", parser.getString());
+ parser.next();
+ assertEquals("/", parser.getString());
+ parser.next();
+ assertEquals("\b", parser.getString());
+ parser.next();
+ assertEquals("\f", parser.getString());
+ parser.next();
+ assertEquals("\n", parser.getString());
+ parser.next();
+ assertEquals("\r", parser.getString());
+ parser.next();
+ assertEquals("\t", parser.getString());
+ parser.next();
+ assertEquals("D", parser.getString());
+ parser.next();
+ assertFalse(parser.hasNext());
+ parser.close();
+ }
+
+ @Test
+ public void escapedStringAwareParser() {
+ final JsonParser parser = Json.createParser(Thread.currentThread()
+ .getContextClassLoader().getResourceAsStream("json/stringescape.json"));
+ parser.next();
+ parser.next();
+ parser.next();
+ assertEquals("s\"mit\"", parser.getString());
+ assertEquals("\"s\\\"mit\\\"\"", new JsonStringImpl(parser.getString()).toString());
+ parser.close();
+ }
+
+ @Test
+ public void dosProtected() {
+ // strings
+ {
+ final JsonParser parser = Json.createParserFactory(new HashMap<String, Object>() {{
+ put(JsonParserFactoryImpl.MAX_STRING_LENGTH, 10);
+ }}).createParser(new InputStream() {
+ private int index = 0;
+
+ @Override
+ public int read() throws IOException {
+ switch (index) {
+ case 0:
+ index++;
+ return '{';
+ case 1:
+ index++;
+ return '"';
+ default: break;
+ }
+ return 'a'; // infinite key
+ }
+ });
+ assertEquals(JsonParser.Event.START_OBJECT, parser.next());
+ try {
+ parser.next(); // should fail cause we try to make a OOME
+ fail();
+ } catch (final JsonParsingException expected) {
+ // no-op
+ }
+ parser.close();
+ }
+
+
+ // spaces
+ {
+ final JsonParser parser = Json.createParserFactory(new HashMap<String, Object>() {{
+ put(JsonParserFactoryImpl.MAX_STRING_LENGTH, 10);
+ }}).createParser(new InputStream() {
+ private int index = 0;
+
+ @Override
+ public int read() throws IOException {
+ switch (index) {
+ case 0:
+ index++;
+ return '{';
+ default: break;
+ }
+ return ' '; // infinite spaces
+ }
+ });
+ assertEquals(JsonParser.Event.START_OBJECT, parser.next());
+ try { // should fail cause we try to make a OOME
+ while (parser.hasNext()) {
+ parser.next();
+ }
+ fail();
+ } catch (final JsonParsingException expected) {
+ // no-op
+ }
+ parser.close();
+ }
+ }
+
+ @Test
+ public void hasNext() {
+ final JsonParser parser = Json.createParserFactory(new HashMap<String, Object>() {{
+ put(JsonParserFactoryImpl.MAX_STRING_LENGTH, 10);
+ }}).createParser(new ByteArrayInputStream("{}".getBytes()));
+ assertTrue(parser.hasNext());
+ assertTrue(parser.hasNext());
+ assertTrue(parser.hasNext());
+ assertTrue(parser.hasNext());
+ assertEquals(JsonParser.Event.START_OBJECT, parser.next());
+ parser.close();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void commaChecks() {
+ // using a reader as wrapper of parser
+
+ Json.createReader(new ByteArrayInputStream("{\"z\":\"b\"\"j\":\"d\"}".getBytes())).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void literalFailChecksTrue() {
+ // using a reader as wrapper of parser
+
+ Json.createReader(new ByteArrayInputStream("{\"z\":truet}".getBytes())).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void literalFailChecksNull() {
+ // using a reader as wrapper of parser
+
+ Json.createReader(new ByteArrayInputStream("{\"z\":nulll}".getBytes())).read();
+ }
+
+ @Test(expected = JsonException.class)
+ public void zeroByteInput() {
+ // using a reader as wrapper of parser
+
+ Json.createReader(new ByteArrayInputStream(new byte[]{})).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void zeroCharInput() {
+ // using a reader as wrapper of parser
+
+ Json.createReader(new CharArrayReader(new char[]{})).read();
+ }
+
+ @Test
+ public void testUTF32LEStream() {
+ ByteArrayInputStream bin = new ByteArrayInputStream("[\"UTF32LE\"]".getBytes(UTF_32LE));
+ JsonParser parser = Json.createParser(bin);
+ parser.next();
+ parser.next();
+ assertEquals("UTF32LE", parser.getString());
+ parser.next();
+ assertTrue(!parser.hasNext());
+ parser.close();
+ }
+
+ @Test
+ public void testUTF32BEStream() {
+ ByteArrayInputStream bin = new ByteArrayInputStream("[\"UTF32BE\"]".getBytes(UTF_32BE));
+ JsonParser parser = Json.createParser(bin);
+ parser.next();
+ parser.next();
+ assertEquals("UTF32BE", parser.getString());
+ parser.next();
+ assertTrue(!parser.hasNext());
+ parser.close();
+ }
+
+ @Test
+ public void testUTF16BEStream() {
+ ByteArrayInputStream bin = new ByteArrayInputStream("[\"UTF16BE\"]".getBytes(UTF_16BE));
+ JsonParser parser = Json.createParser(bin);
+ parser.next();
+ parser.next();
+ assertEquals("UTF16BE", parser.getString());
+ parser.next();
+ assertTrue(!parser.hasNext());
+ parser.close();
+ }
+
+ @Test
+ public void testUTF16LEStream() {
+ ByteArrayInputStream bin = new ByteArrayInputStream("[\"UTF16LE\"]".getBytes(UTF_16LE));
+ JsonParser parser = Json.createParser(bin);
+ parser.next();
+ parser.next();
+ assertEquals("UTF16LE", parser.getString());
+ parser.next();
+ assertTrue(!parser.hasNext());
+ parser.close();
+ }
+
+ @Test
+ public void testUTF8Stream() {
+ ByteArrayInputStream bin = new ByteArrayInputStream("[\"UTF8\"]".getBytes(UTF_8));
+ JsonParser parser = Json.createParser(bin);
+ parser.next();
+ parser.next();
+ assertEquals("UTF8", parser.getString());
+ parser.next();
+ assertTrue(!parser.hasNext());
+ parser.close();
+ }
+
+ @Test
+ public void shortestNonEmtyJsonFile() {
+ // using a reader as wrapper of parser
+
+ assertEquals(0L, Json.createReader(new ByteArrayInputStream("[0]".getBytes())).readArray().getJsonNumber(0).longValue());
+ }
+
+
+ @Test
+ public void shortestNonEmtyJsonFileWithWhiteSpaceChars() {
+ // using a reader as wrapper of parser
+
+ assertEquals(0L, Json.createReader(new ByteArrayInputStream(" \n\n [ 0 ] \n\n".getBytes())).readArray().getJsonNumber(0).longValue());
+ }
+
+ @Test
+ public void escapeStart() {
+ // using a reader as wrapper of parser
+
+ assertEquals("\\abcdef", Json.createReader(new ByteArrayInputStream("[\"\\\\abcdef\"]".getBytes())).readArray().getString(0));
+ }
+
+ @Test
+ public void escapeStart2() {
+ // using a reader as wrapper of parser
+
+ assertEquals("\"abcdef", Json.createReader(new ByteArrayInputStream("[\"\\\"abcdef\"]".getBytes())).readArray().getString(0));
+ }
+
+ @Test
+ public void threeLiterals() {
+ final JsonParser parser = Json.createParserFactory(new HashMap<String, Object>() {{
+ put(JsonParserFactoryImpl.MAX_STRING_LENGTH, 10);
+ }}).createParser(new ByteArrayInputStream("{\"a\":true,\"b\":null,\"c\":false,\"arr\":[false, true, null]}".getBytes()));
+ parser.next();
+ parser.next();
+ assertEquals(JsonParser.Event.VALUE_TRUE, parser.next());
+ parser.next();
+ assertEquals(JsonParser.Event.VALUE_NULL, parser.next());
+ parser.next();
+ assertEquals(JsonParser.Event.VALUE_FALSE, parser.next());
+ parser.next();
+ parser.next();
+ assertEquals(JsonParser.Event.VALUE_FALSE, parser.next());
+ assertEquals(JsonParser.Event.VALUE_TRUE, parser.next());
+ assertEquals(JsonParser.Event.VALUE_NULL, parser.next());
+ parser.close();
+ }
+
+ @Test
+ public void maxStringStringOK() {
+ // using a reader as wrapper of parser
+ Json.createReaderFactory(new HashMap<String, Object>() {
+ {
+ put("org.apache.johnzon.max-string-length", "5");
+ }
+ }).createReader(new ByteArrayInputStream("[\"abcde\"]".getBytes())).read();
+
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void maxStringStringFail() {
+ // using a reader as wrapper of parser
+ Json.createReaderFactory(new HashMap<String, Object>() {
+ {
+ put("org.apache.johnzon.max-string-length", "5");
+ }
+ }).createReader(new ByteArrayInputStream("[\"abcdef\"]".getBytes())).read();
+
+ }
+
+ @Test
+ public void maxStringNumberOK() {
+ // using a reader as wrapper of parser
+ Json.createReaderFactory(new HashMap<String, Object>() {
+ {
+ put("org.apache.johnzon.max-string-length", "5");
+ }
+ }).createReader(new ByteArrayInputStream("[12.3]".getBytes())).read();
+
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void maxStringNumberFail() {
+ // using a reader as wrapper of parser
+ Json.createReaderFactory(new HashMap<String, Object>() {
+ {
+ put("org.apache.johnzon.max-string-length", "5");
+ }
+ }).createReader(new ByteArrayInputStream("[12.333]".getBytes())).read();
+
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void maxStringWhitespace() {
+ // using a reader as wrapper of parser
+ Json.createReaderFactory(new HashMap<String, Object>() {
+ {
+ put("org.apache.johnzon.max-string-length", "5");
+ }
+ }).createReader(new ByteArrayInputStream("[\"12\" ]".getBytes())).read();
+
+ }
+
+
+ @Test
+ public void testEmptyArray() {
+ JsonParser parser = Json.createParser(new ByteArrayInputStream("[]".getBytes()));
+ assertEquals(Event.START_ARRAY, parser.next());
+ assertEquals(Event.END_ARRAY, parser.next());
+ assertEquals(false, parser.hasNext());
+ try {
+ parser.next();
+ fail("Should have thrown a NoSuchElementException");
+ } catch (NoSuchElementException ne) {
+ //expected
+ }
+ }
+
+
+ @Test(expected = JsonParsingException.class)
+ public void fail1() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail1.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail2() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail2.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail3() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail3.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail4() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail4.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail5() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail5.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail6() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail6.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail7() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail7.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail8() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail8.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail9() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail9.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail10() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail10.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail11() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail11.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail12() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail12.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail13() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail13.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail14() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail14.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail15() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail15.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail16() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail16.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail17() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail17.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail18() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail18.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail19() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail19.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail20() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail20.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail21() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail21.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail22() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail22.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail23() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail23.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail24() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail24.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail25() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail25.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail26() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail26.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail27() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail27.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail28() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail28.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail29() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail29.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail30() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail30.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail31() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail31.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail32() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail32.json")).read();
+ }
+
+
+ @Test(expected = JsonParsingException.class)
+ public void fail33() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail33.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail34() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail34.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail35() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail35.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail36() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail36.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail37() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail37.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail38() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail38.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail39() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail39.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail40() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail40.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail41() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail41.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail42() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail42.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail43() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail43.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail44() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail44.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail45() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail45.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail46() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail46.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail47() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail47.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail48() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail48.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail49() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail49.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail50() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail50.json")).read();
+ }
+
+ //@Test(expected = JsonParsingException.class)
+ public void fail51() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail51.json")).read();
+ }
+
+ //@Test(expected = JsonParsingException.class)
+ public void fail52() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail52.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail53() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail53.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail54() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail54.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail55() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail55.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail56() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail56.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail57() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail57.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail58() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail58.json")).read();
+ }
+
+ @Test(expected = JsonException.class)
+ public void fail59() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail59.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail60() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail60.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail61() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail61.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail62() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail62.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail63() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail63.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail64() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail64.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail65() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail65.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail66() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail66.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail67() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail67.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail68() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail68.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail69() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail69.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail70() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail70.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail71() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail71.json")).read();
+ }
+
+ @Test(expected = JsonParsingException.class)
+ public void fail72() {
+
+ Json.createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/fails/fail72.json")).read();
+ }
+
+
+ @Test
+ public void stringescapeVariousBufferSizesBogus() {
+
+
+ StringBuilder sb = new StringBuilder();
+ sb.append("\t\"special-\":" + "\"" + "\\\\f\\n\\r\\t\\u6565\uDC00\uD800" + "\",\n");
+ sb.append("\t\"unicode-\\u0000- \":\"\\u5656\uDC00\uD800\"\n");
+ String s = "{"+sb.toString()+"}";
+
+ for (int i = 1; i < s.length()+100; i++) {
+ final String value = String.valueOf(i);
+
+ final JsonParser parser = Json.createParserFactory(new HashMap<String, Object>() {
+ {
+ put("org.apache.johnzon.default-char-buffer", value);
+ }
+ }).createParser(new ByteArrayInputStream(s.getBytes()));
+ assertNotNull(parser);
+
+ while(parser.hasNext()) {
+ Event e = parser.next();
+ if(e==null) {
+ fail();
+ }
+ }
+
+ assertTrue(!parser.hasNext());
+ parser.close();
+
+ }
+ }
+
+
+
+ }