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();
+             
+         }
+     }
+     
+     
+     
+ }