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:33 UTC

[17/22] renamed fleece to johnzon

http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/6e86a53e/fleece-core/src/test/java/org/apache/fleece/core/JsonParserTest.java
----------------------------------------------------------------------
diff --git a/fleece-core/src/test/java/org/apache/fleece/core/JsonParserTest.java b/fleece-core/src/test/java/org/apache/fleece/core/JsonParserTest.java
deleted file mode 100644
index 8113b0d..0000000
--- a/fleece-core/src/test/java/org/apache/fleece/core/JsonParserTest.java
+++ /dev/null
@@ -1,1419 +0,0 @@
-/*
- * 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.fleece.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");
-        }
-    }
-
-    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.fleece.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.fleece.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.fleece.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.fleece.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.fleece.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.fleece.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();
-            
-        }
-    }
-    
-    
-    
-}

http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/6e86a53e/fleece-core/src/test/java/org/apache/fleece/core/JsonReaderImplTest.java
----------------------------------------------------------------------
diff --git a/fleece-core/src/test/java/org/apache/fleece/core/JsonReaderImplTest.java b/fleece-core/src/test/java/org/apache/fleece/core/JsonReaderImplTest.java
deleted file mode 100644
index a9ecac7..0000000
--- a/fleece-core/src/test/java/org/apache/fleece/core/JsonReaderImplTest.java
+++ /dev/null
@@ -1,453 +0,0 @@
-/*
- * 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.fleece.core;
-
-import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.nio.charset.Charset;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonStructure;
-
-import org.junit.Test;
-
-public class JsonReaderImplTest {
-    
-    
-    
-    public JsonReaderImplTest() {
-        super();
-        if (!Charset.defaultCharset().equals(Charset.forName("UTF-8"))) {
-            throw new RuntimeException("Default charset is " + Charset.defaultCharset() + ", must must be UTF-8");
-        }
-    }
-
-    protected static Charset utf8Charset = Charset.forName("UTF8");
-    protected static Charset asciiCharset = Charset.forName("ASCII");
-
-    @SuppressWarnings("unchecked")
-    protected Map<String, ?> getFactoryConfig() {
-        return Collections.EMPTY_MAP;
-    }
-
-    @Test
-    public void simple() {
-        final JsonReader reader = Json.createReaderFactory(getFactoryConfig()).createReader(
-                Thread.currentThread().getContextClassLoader().getResourceAsStream("json/simple.json"), utf8Charset);
-        assertNotNull(reader);
-        final JsonObject object = reader.readObject();
-        assertNotNull(object);
-        assertEquals(3, object.size());
-        assertEquals("b", object.getString("a"));
-        assertEquals(4, object.getInt("c"));
-        assertThat(object.get("d"), instanceOf(JsonArray.class));
-        final JsonArray array = object.getJsonArray("d");
-        assertNotNull(array);
-        assertEquals(2, array.size());
-        assertEquals(1, array.getInt(0));
-        assertEquals(-2, array.getInt(1));
-        reader.close();
-    }
-
-    @Test
-    public void unicode() {
-        final JsonReader reader = Json.createReaderFactory(getFactoryConfig()).createReader(
-                Thread.currentThread().getContextClassLoader().getResourceAsStream("json/unicode.json"), utf8Charset);
-        assertNotNull(reader);
-        final JsonObject object = reader.readObject();
-        assertNotNull(object);
-        assertEquals(String.valueOf('\u6565'), object.getString("a"));
-        assertEquals("", object.getString("z"));
-        assertEquals(String.valueOf('\u0000'), object.getString("c"));
-        assertThat(object.get("d"), instanceOf(JsonArray.class));
-        final JsonArray array = object.getJsonArray("d");
-        assertNotNull(array);
-        assertEquals(3, array.size());
-        assertEquals(-2, array.getInt(0));
-        assertEquals(" ", array.getString(1));
-        assertEquals("", array.getString(2));
-        assertEquals(5, object.size());
-        reader.close();
-    }
-
-    @Test
-    public void unicodeWithIoReader() {
-        final Reader ioReader = new InputStreamReader(Thread.currentThread().getContextClassLoader()
-                .getResourceAsStream("json/unicode.json"), utf8Charset);
-        final JsonReader reader = Json.createReader(ioReader);
-        assertNotNull(reader);
-        final JsonObject object = reader.readObject();
-        assertNotNull(object);
-        assertEquals(String.valueOf('\u6565'), object.getString("a"));
-        assertEquals("", object.getString("z"));
-        assertEquals(String.valueOf('\u0000'), object.getString("c"));
-        assertThat(object.get("d"), instanceOf(JsonArray.class));
-        final JsonArray array = object.getJsonArray("d");
-        assertNotNull(array);
-        assertEquals(3, array.size());
-        assertEquals(-2, array.getInt(0));
-        assertEquals(" ", array.getString(1));
-        assertEquals("", array.getString(2));
-        assertEquals(5, object.size());
-        reader.close();
-    }
-
-    @Test
-    public void special() {
-        final JsonReader reader = Json.createReaderFactory(getFactoryConfig()).createReader(
-                Thread.currentThread().getContextClassLoader().getResourceAsStream("json/special.json"), utf8Charset);
-        assertNotNull(reader);
-        final JsonObject object = reader.readObject();
-        assertNotNull(object);
-        assertEquals(9, object.size());
-        assertEquals("b,,", object.getString("a{"));
-        assertEquals(":4::,[{", object.getString("c::::"));
-        assertTrue(object.getJsonNumber("w").doubleValue() > 4 && object.getJsonNumber("w").doubleValue() < 5);
-        assertEquals(110, object.getInt("1.4312"));
-        assertEquals("\"", object.getString("\""));
-        assertTrue(object.isNull("\u0044"));
-        assertEquals("ন:4::,[{", object.getString("থii:üäöÖ.,;.-<>!§$%&()=?ß´'`*+#"));
-        reader.close();
-    }
-
-    @Test
-    public void specialWithIoReader() {
-        final Reader ioReader = new InputStreamReader(Thread.currentThread().getContextClassLoader()
-                .getResourceAsStream("json/special.json"), utf8Charset);
-        final JsonReader reader = Json.createReader(ioReader);
-        assertNotNull(reader);
-        final JsonObject object = reader.readObject();
-        assertNotNull(object);
-        assertEquals(9, object.size());
-        assertEquals("b,,", object.getString("a{"));
-        assertEquals(":4::,[{", object.getString("c::::"));
-        assertTrue(object.getJsonNumber("w").doubleValue() > 4 && object.getJsonNumber("w").doubleValue() < 5);
-        assertEquals(110, object.getInt("1.4312"));
-        assertEquals("\"", object.getString("\""));
-        assertEquals("ন:4::,[{", object.getString("থii:üäöÖ.,;.-<>!§$%&()=?ß´'`*+#"));
-        reader.close();
-    }
-
-    @Test
-    public void specialWithStringAsByteArrayInputStream() {
-        final String s = "{\"নa\":\"hallo\u20acö\uffff \u08a5 থ?ߧ$%&´'`*+#\udbff\udfff\"}";
-        final JsonReader reader = Json.createReaderFactory(getFactoryConfig()).createReader(
-                new ByteArrayInputStream(s.getBytes(utf8Charset)), utf8Charset);
-        assertNotNull(reader);
-        final JsonObject object = reader.readObject();
-        assertNotNull(object);
-        assertEquals(1, object.size());
-        assertEquals("hallo\u20acö\uffff \u08a5 থ?ߧ$%&´'`*+#\udbff\udfff", object.getString("নa"));
-        reader.close();
-    }
-    
-    @Test
-    public void specialKeysWithStringAsByteArrayInputStream() {
-        final String s = "{\"\\\"a\":\"\u0055\",\"\u0055\":\"test2\"}";
-        System.out.println(s);
-        final JsonReader reader = Json.createReaderFactory(getFactoryConfig()).createReader(
-                new ByteArrayInputStream(s.getBytes(utf8Charset)), utf8Charset);
-        assertNotNull(reader);
-        final JsonObject object = reader.readObject();
-        assertNotNull(object);
-        assertEquals(2, object.size());
-        assertEquals("U", object.getString("\"a"));
-        assertEquals("test2", object.getString("U"));
-        reader.close();
-    }
-
-    @Test
-    public void specialWithStringReader() {
-        final String s = "{\"ন:4::,[{\u08a5\":\"থii:üäöÖ.,;.-<>!§$%&()=?ß´'`*+#\ua5a5\"}";
-        final JsonReader reader = Json.createReaderFactory(getFactoryConfig()).createReader(
-                new InputStreamReader(new ByteArrayInputStream(s.getBytes(utf8Charset)), utf8Charset));
-        assertNotNull(reader);
-        final JsonObject object = reader.readObject();
-        assertNotNull(object);
-        assertEquals(1, object.size());
-        assertEquals("থii:üäöÖ.,;.-<>!§$%&()=?ß´'`*+#\ua5a5", object.getString("ন:4::,[{\u08a5"));
-        reader.close();
-    }
-
-    @Test
-    public void unicode4Bytes() {
-        final int codepoint = 128149;
-        final char[] charPair = Character.toChars(codepoint);
-        assertNotNull(charPair);
-        assertEquals(2, charPair.length);
-        assertTrue(Character.isHighSurrogate(charPair[0]));
-        assertTrue(Character.isLowSurrogate(charPair[1]));
-        assertTrue(Character.isSurrogatePair(charPair[0], charPair[1]));
-        final JsonReader reader = Json.createReaderFactory(getFactoryConfig()).createReader(
-                (new ByteArrayInputStream(("{\"\":\"Ö" + charPair[0] + charPair[1] + "\"}").getBytes(utf8Charset))),
-                utf8Charset);
-        assertNotNull(reader);
-        final JsonObject object = reader.readObject();
-        assertNotNull(object);
-
-        assertEquals(codepoint, object.getString("").codePointAt(1));
-        assertEquals("Ö" + new String(charPair), object.getString(""));
-        assertEquals(1, object.size());
-        reader.close();
-    }
-
-    @Test
-    public void unicode3Bytes() {
-        final char[] charPair = Character.toChars("\uffff".codePointAt(0));
-        assertNotNull(charPair);
-        assertEquals(1, charPair.length);
-        assertTrue(!Character.isLowSurrogate(charPair[0]));
-        assertTrue(!Character.isHighSurrogate(charPair[0]));
-        final JsonReader reader = Json.createReaderFactory(getFactoryConfig()).createReader(
-                new ByteArrayInputStream(("{\"\":\"\uffff\"}").getBytes(utf8Charset)), utf8Charset);
-        assertNotNull(reader);
-        final JsonObject object = reader.readObject();
-        assertNotNull(object);
-        assertEquals(String.valueOf('\uffff'), object.getString(""));
-        assertEquals(1, object.size());
-        reader.close();
-    }
-
-    @Test
-    public void unicode2Bytes() {
-        final JsonReader reader = Json.createReaderFactory(getFactoryConfig()).createReader(
-                new ByteArrayInputStream(("{\"\":\"Ö\u00d6\"}").getBytes(utf8Charset)), utf8Charset);
-        assertNotNull(reader);
-        final JsonObject object = reader.readObject();
-        assertNotNull(object);
-        assertEquals("Ö\u00d6", object.getString(""));
-        assertEquals(1, object.size());
-        reader.close();
-    }
-
-    @Test(expected = NullPointerException.class)
-    public void unicodeFailAscii() {
-        final JsonReader reader = Json.createReaderFactory(getFactoryConfig()).createReader(
-                new ByteArrayInputStream(
-                        "{\"ন:4::,[{\udbff\udfff\":\"থii:üäöÖ.,;.-<>!§$%&()=?ß´'`*+#\udbff\udfff\"}".getBytes(asciiCharset)),
-                utf8Charset);
-        assertNotNull(reader);
-        final JsonObject object = reader.readObject();
-        assertNotNull(object);
-        assertEquals(1, object.size());
-        assertEquals("থii:üäöÖ.,;.-<>!§$%&()=?ß´'`*+#\udbff\udfff", object.getString("ন:4::,[{\udbff\udfff"));
-        reader.close();
-    }
-
-    @Test
-    public void parseHuge1MbJsonFile() {
-        final JsonReader reader = Json.createReaderFactory(getFactoryConfig()).createReader(
-                Thread.currentThread().getContextClassLoader().getResourceAsStream("bench/huge_1mb.json"), utf8Charset);
-        assertNotNull(reader);
-        final JsonStructure object = reader.read();
-        assertNotNull(object);
-        reader.close();
-    }
-
-    @Test
-    public void parseBig600KbJsonFile() {
-        final JsonReader reader = Json.createReaderFactory(getFactoryConfig()).createReader(
-                Thread.currentThread().getContextClassLoader().getResourceAsStream("bench/big_600kb.json"), utf8Charset);
-        assertNotNull(reader);
-        final JsonStructure object = reader.read();
-        assertNotNull(object);
-        reader.close();
-    }
-
-    @Test
-    public void parseLarge130KbJsonFile() {
-        final JsonReader reader = Json.createReaderFactory(getFactoryConfig()).createReader(
-                Thread.currentThread().getContextClassLoader().getResourceAsStream("bench/large_130kb.json"), utf8Charset);
-        assertNotNull(reader);
-        final JsonStructure object = reader.read();
-        assertNotNull(object);
-        reader.close();
-    }
-
-    @Test
-    public void parseMedium11KbJsonFile() {
-        final JsonReader reader = Json.createReaderFactory(getFactoryConfig()).createReader(
-                Thread.currentThread().getContextClassLoader().getResourceAsStream("bench/medium_11kb.json"), utf8Charset);
-        assertNotNull(reader);
-        final JsonStructure object = reader.read();
-        assertNotNull(object);
-        reader.close();
-    }
-
-    @Test
-    public void parseSmall3KbJsonFile() {
-        final JsonReader reader = Json.createReaderFactory(getFactoryConfig()).createReader(
-                Thread.currentThread().getContextClassLoader().getResourceAsStream("bench/small_3kb.json"), utf8Charset);
-        assertNotNull(reader);
-        final JsonStructure object = reader.read();
-        assertNotNull(object);
-        reader.close();
-    }
-
-    @Test
-    public void parseTiny50BJsonFile() {
-        final JsonReader reader = Json.createReaderFactory(getFactoryConfig()).createReader(
-                Thread.currentThread().getContextClassLoader().getResourceAsStream("bench/tiny_50b.json"), utf8Charset);
-        assertNotNull(reader);
-        final JsonStructure object = reader.read();
-        assertNotNull(object);
-        reader.close();
-    }
-
-    @Test
-    public void simpleBadBufferSize8() {
-        final JsonReader reader = Json.createReaderFactory(new HashMap<String, Object>() {
-            {
-                put("org.apache.fleece.default-char-buffer", "8");
-            }
-        }).createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/simple.json"), utf8Charset);
-        assertNotNull(reader);
-        final JsonObject object = reader.readObject();
-        assertNotNull(object);
-        assertEquals(3, object.size());
-        assertEquals("b", object.getString("a"));
-        assertEquals(4, object.getInt("c"));
-        assertThat(object.get("d"), instanceOf(JsonArray.class));
-        final JsonArray array = object.getJsonArray("d");
-        assertNotNull(array);
-        assertEquals(2, array.size());
-        assertEquals(1, array.getInt(0));
-        assertEquals(-2, array.getInt(1));
-        reader.close();
-    }
-    
-    @Test
-    public void simple2BadBufferSize8() {
-        final JsonReader reader = Json.createReaderFactory(new HashMap<String, Object>() {
-            {
-                put("org.apache.fleece.default-char-buffer", "8");
-            }
-        }).createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/simple2.json"), utf8Charset);
-        assertNotNull(reader);
-        final JsonObject object = reader.readObject();
-        assertNotNull(object);
-        assertEquals(3, object.size());
-        assertEquals("b", object.getString("a"));
-        assertEquals(4, object.getInt("c"));
-        assertThat(object.get("d"), instanceOf(JsonArray.class));
-        final JsonArray array = object.getJsonArray("d");
-        assertNotNull(array);
-        assertEquals(2, array.size());
-        assertEquals(1, array.getInt(0));
-        assertEquals(-2, array.getInt(1));
-        reader.close();
-    }
-
-    @Test
-    public void simpleBadBufferSize9() {
-        final JsonReader reader = Json.createReaderFactory(new HashMap<String, Object>() {
-            {
-                put("org.apache.fleece.default-char-buffer", "9");
-            }
-        }).createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/simple.json"), utf8Charset);
-        assertNotNull(reader);
-        final JsonObject object = reader.readObject();
-        assertNotNull(object);
-        assertEquals(3, object.size());
-        assertEquals("b", object.getString("a"));
-        assertEquals(4, object.getInt("c"));
-        assertThat(object.get("d"), instanceOf(JsonArray.class));
-        final JsonArray array = object.getJsonArray("d");
-        assertNotNull(array);
-        assertEquals(2, array.size());
-        assertEquals(1, array.getInt(0));
-        assertEquals(-2, array.getInt(1));
-        reader.close();
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void emptyZeroCharBuffersize() {
-        final JsonReader reader = Json.createReaderFactory(new HashMap<String, Object>() {
-            {
-                put("org.apache.fleece.default-char-buffer", "0");
-            }
-        }).createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/empty.json"), utf8Charset);
-        assertNotNull(reader);
-        reader.readObject();
-        reader.close();
-    }
-
-    @Test
-    public void emptyOneCharBufferSize() {
-        final JsonReader reader = Json.createReaderFactory(new HashMap<String, Object>() {
-            {
-                put("org.apache.fleece.default-char-buffer", "1");
-            }
-        }).createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/empty.json"), utf8Charset);
-        assertNotNull(reader);
-        final JsonObject object = reader.readObject();
-        assertNotNull(object);
-        assertEquals(0, object.size());
-        reader.close();
-    }
-
-    @Test
-    public void emptyArrayOneCharBufferSize() {
-        final JsonReader reader = Json.createReaderFactory(new HashMap<String, Object>() {
-            {
-                put("org.apache.fleece.default-char-buffer", "1");
-            }
-        }).createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/emptyarray.json"), utf8Charset);
-        assertNotNull(reader);
-        final JsonArray array = reader.readArray();
-        assertNotNull(array);
-        assertEquals(0, array.size());
-        reader.close();
-    }
-
-    @Test
-    public void stringescapeVariousBufferSizes() {
-        final int[] buffersizes = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
-                26, 27, 28, 32, 64, 128, 1024, 8192 };
-
-        for (int i = 0; i < buffersizes.length; i++) {
-            final String value = String.valueOf(buffersizes[i]);
-            final JsonReader reader = Json.createReaderFactory(new HashMap<String, Object>() {
-                {
-                    put("org.apache.fleece.default-char-buffer", value);
-                }
-            }).createReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("json/stringescape.json"),
-                    utf8Charset);
-            assertNotNull(reader);
-            final JsonObject object = reader.readObject();
-            assertNotNull(object);
-            assertEquals(1, object.size());
-            assertEquals("s\"mit\"", object.getString("name"));
-            reader.close();
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/6e86a53e/fleece-core/src/test/java/org/apache/fleece/core/JsonWriterImplTest.java
----------------------------------------------------------------------
diff --git a/fleece-core/src/test/java/org/apache/fleece/core/JsonWriterImplTest.java b/fleece-core/src/test/java/org/apache/fleece/core/JsonWriterImplTest.java
deleted file mode 100644
index cf5d18c..0000000
--- a/fleece-core/src/test/java/org/apache/fleece/core/JsonWriterImplTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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.fleece.core;
-
-import static org.junit.Assert.assertEquals;
-
-import java.io.ByteArrayOutputStream;
-
-import javax.json.Json;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonWriter;
-
-import org.junit.Test;
-
-public class JsonWriterImplTest {
-    @Test
-    public void writer() {
-        final ByteArrayOutputStream out = new ByteArrayOutputStream();
-        final JsonWriter writer = Json.createWriter(out);
-        final JsonObjectBuilder ob = Json.createObjectBuilder();
-        ob.add("a", new JsonStringImpl("b"));
-        writer.write(ob.build());
-        writer.close();
-        assertEquals("{\"a\":\"b\"}", new String(out.toByteArray()));
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/6e86a53e/fleece-core/src/test/java/org/apache/fleece/core/LocationTest.java
----------------------------------------------------------------------
diff --git a/fleece-core/src/test/java/org/apache/fleece/core/LocationTest.java b/fleece-core/src/test/java/org/apache/fleece/core/LocationTest.java
deleted file mode 100644
index 313d56e..0000000
--- a/fleece-core/src/test/java/org/apache/fleece/core/LocationTest.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * 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.fleece.core;
-
-import static org.junit.Assert.assertEquals;
-
-import java.io.StringReader;
-import java.util.HashMap;
-
-import javax.json.Json;
-import javax.json.JsonReader;
-import javax.json.stream.JsonLocation;
-import javax.json.stream.JsonParser;
-import javax.json.stream.JsonParsingException;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-public class LocationTest {
-    @Test
-    public void failBytesInput() {
-  
-        try {
-            JsonReader reader = Json.createReader(new StringReader("{\"z\":nulll}"));
-            reader.read();
-            Assert.fail("Exception expected");
-        } catch (JsonParsingException e) {
-            JsonLocation location = e.getLocation();
-            Assert.assertNotNull(location);
-            Assert.assertEquals(new JsonLocationImpl(1, 11, 10), location);
-            
-        }
-        
-        
-        try {
-            JsonReader reader = Json.createReader(new StringReader("{\"z\":\nnulll}"));
-            reader.read();
-            Assert.fail("Exception expected");
-        } catch (JsonParsingException e) {
-            JsonLocation location = e.getLocation();
-            Assert.assertNotNull(location);
-            Assert.assertEquals(new JsonLocationImpl(2, 6, 11), location);
-            
-        }
-        
-        try {
-            JsonReader reader = Json.createReader(new StringReader("aaa"));
-            reader.read();
-            Assert.fail("Exception expected");
-        } catch (JsonParsingException e) {
-            JsonLocation location = e.getLocation();
-            Assert.assertNotNull(location);
-            Assert.assertEquals(new JsonLocationImpl(1, 2, 1), location);
-            
-        }
-    }
-    
-    
-    @Test
-    public void simpleLocation() {
-  
-  
-        JsonParser parser = Json.createParser(new StringReader("{\n    \"ö \uffff c\": null ,\n    \"test\"  :\"testval\",\n    \"num\": 45.1e-12  \n}"));
-        
-        /*
-         
-         
-{
-    "z a c": null ,
-    "test"  :"testval",
-    "num": 45.1e-12  //2 ws
-}
-         
-         
-         */
-        
-        Assert.assertEquals(new JsonLocationImpl(1, 1, 0), parser.getLocation());
-        parser.next(); //after first {
-        Assert.assertEquals(new JsonLocationImpl(1, 2, 1), parser.getLocation());
-        parser.next(); //after "ö \uffff c"
-        Assert.assertEquals(new JsonLocationImpl(2, 12, 13), parser.getLocation());
-        parser.next(); //after null   
-        Assert.assertEquals(new JsonLocationImpl(2, 18, 19), parser.getLocation());
-        parser.next(); //after test
-        Assert.assertEquals(new JsonLocationImpl(3, 11, 32), parser.getLocation());    
-        parser.next(); //after testval
-        Assert.assertEquals(new JsonLocationImpl(3, 23, 44), parser.getLocation());    
-        parser.next(); //after num
-        Assert.assertEquals(new JsonLocationImpl(4, 10, 55), parser.getLocation());    
-        parser.next(); //after 45.1e-12
-        Assert.assertEquals(new JsonLocationImpl(4, 20, 65), parser.getLocation());    
-        parser.next(); //after }
-        Assert.assertEquals(new JsonLocationImpl(5, 2, 69), parser.getLocation());    
-       
-    }
-    
-    /*@Test
-    public void simpleLocationBytes() {
-  
-        JsonParser parser = Json.createParser(new ByteArrayInputStream("{\n    \"ö \uffff c\": null ,\n    \"test\"  :\"testval\",\n    \"num\": 45.1e-12  \n}".getBytes()));
-        
-        Assert.assertEquals(new JsonLocationImpl(1, 1, 0), parser.getLocation());
-        parser.next(); //after first {
-        Assert.assertEquals(new JsonLocationImpl(1, 2, 2), parser.getLocation());
-        parser.next(); //after "ö \uffff c"
-        Assert.assertEquals(new JsonLocationImpl(2, 12, 26), parser.getLocation());
-        parser.next(); //after null   
-        Assert.assertEquals(new JsonLocationImpl(2, 18, 38), parser.getLocation());
-        parser.next(); //after test
-        Assert.assertEquals(new JsonLocationImpl(3, 11, 64), parser.getLocation());    
-        parser.next(); //after testval
-        Assert.assertEquals(new JsonLocationImpl(3, 23, 88), parser.getLocation());    
-        parser.next(); //after num
-        Assert.assertEquals(new JsonLocationImpl(4, 10, 110), parser.getLocation());    
-        parser.next(); //after 45.1e-12
-        Assert.assertEquals(new JsonLocationImpl(4, 20, 130), parser.getLocation());    
-        parser.next(); //after }
-        Assert.assertEquals(new JsonLocationImpl(5, 2, 138), parser.getLocation());    
-       
-    }*/
-    
-    @Test
-    public void simpleLocationCrossingBufferBoundaries() {
- 
-
-        for (int i = 1; i <= 100; i++) {
-            final String value = String.valueOf(i);
-            final JsonParser parser = Json.createParserFactory(new HashMap<String, Object>() {
-                {
-                    put("org.apache.fleece.default-char-buffer", value);
-                }
-            }).createParser(new StringReader("{\n    \"z a c\": null ,\n    \"test\"  :\"testval\",\n    \"num\": 45.1e-12  \n}"));
-
-             
-            /*
-             
-             
-    {
-        "z a c": null ,
-        "test"  :"testval",
-        "num": 45.1e-12  //2 ws
-    }
-             
-             
-             */
-            
-           
-            
-            Assert.assertEquals(new JsonLocationImpl(1, 1, 0), parser.getLocation());
-            parser.next(); //after first {
-            Assert.assertEquals(new JsonLocationImpl(1, 2, 1), parser.getLocation());
-            parser.next(); //after "z a c"
-            Assert.assertEquals(new JsonLocationImpl(2, 12, 13), parser.getLocation());
-            parser.next(); //after null   
-            Assert.assertEquals(new JsonLocationImpl(2, 18, 19), parser.getLocation());
-            parser.next(); //after test
-            Assert.assertEquals(new JsonLocationImpl(3, 11, 32), parser.getLocation());    
-            parser.next(); //after testval
-            Assert.assertEquals(new JsonLocationImpl(3, 23, 44), parser.getLocation());    
-            parser.next(); //after num
-            Assert.assertEquals(new JsonLocationImpl(4, 10, 55), parser.getLocation());    
-            parser.next(); //after 45.1e-12
-            Assert.assertEquals(new JsonLocationImpl(4, 20, 65), parser.getLocation());    
-            parser.next(); //after }
-            Assert.assertEquals(new JsonLocationImpl(5, 2, 69), parser.getLocation());   
-            
-            Assert.assertFalse(parser.hasNext());
-            Assert.assertFalse(parser.hasNext());
-        }
-        
-        
-         
-       
-    }
-    
-    
-    
-    @Test
-    public void testLocationOnParsingException() {
-        //line number, column, offset (measured in chars)
-        //line number and column start at 1
-        //offset start at 0
-        assertJsonLocation("a", new JsonLocationImpl(1, 2, 1));
-        assertJsonLocation("aa", new JsonLocationImpl(1, 2, 1));
-        assertJsonLocation("asa", new JsonLocationImpl(1, 2, 1));
-        assertJsonLocation("{]", new JsonLocationImpl(1, 3, 2));
-        assertJsonLocation("[}", new JsonLocationImpl(1, 3, 2));
-        assertJsonLocation("[a", new JsonLocationImpl(1, 3, 2));
-        assertJsonLocation("[nuLl]", new JsonLocationImpl(1, 5, 4));
-        assertJsonLocation("[falsE]", new JsonLocationImpl(1, 7, 6));
-        assertJsonLocation("[][]", new JsonLocationImpl(1, 4, 3));
-        assertJsonLocation("[1234L]", new JsonLocationImpl(1, 7, 6));
-        assertJsonLocation("[null\n}", new JsonLocationImpl(2, 2, 7));
-        assertJsonLocation("[null\r\n}", new JsonLocationImpl(2, 2, 8));
-        assertJsonLocation("[null\n, null\n}", new JsonLocationImpl(3, 2, 14));
-        assertJsonLocation("[null\r\n, null\r\n}", new JsonLocationImpl(3, 2, 16));
-    }
-
-
-    private void assertJsonLocation(String jsonString, JsonLocation expectedLocation) {
-        JsonParser parser = Json.createParser(new StringReader(jsonString));
-        try {
-            while(parser.hasNext()) {
-                parser.next();
-            }
-            Assert.fail("Expected to throw JsonParsingException for "+jsonString);
-        } catch(JsonParsingException je) {
-            // Expected
-            if (expectedLocation != null) {
-                JsonLocation loc = je.getLocation();
-                assertEquals(expectedLocation.getLineNumber(), loc.getLineNumber());
-                assertEquals(expectedLocation.getColumnNumber(), loc.getColumnNumber());
-                assertEquals(expectedLocation.getStreamOffset(), loc.getStreamOffset());
-            }
-        } finally {
-            parser.close();
-        }
-    }
-}