You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by rm...@apache.org on 2016/05/31 13:37:29 UTC
incubator-johnzon git commit: test for overflow
Repository: incubator-johnzon
Updated Branches:
refs/heads/master e38e44b22 -> 1bc80922f
test for overflow
Project: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/commit/1bc80922
Tree: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/tree/1bc80922
Diff: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/diff/1bc80922
Branch: refs/heads/master
Commit: 1bc80922fe28b822c8b6880f477a30eef3b62701
Parents: e38e44b
Author: Romain manni-Bucau <rm...@gmail.com>
Authored: Tue May 31 15:37:22 2016 +0200
Committer: Romain manni-Bucau <rm...@gmail.com>
Committed: Tue May 31 15:37:22 2016 +0200
----------------------------------------------------------------------
.../org/apache/johnzon/mapper/OverflowTest.java | 51 ++++++++++++++++++++
1 file changed, 51 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/1bc80922/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/OverflowTest.java
----------------------------------------------------------------------
diff --git a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/OverflowTest.java b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/OverflowTest.java
new file mode 100644
index 0000000..a289f2c
--- /dev/null
+++ b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/OverflowTest.java
@@ -0,0 +1,51 @@
+/*
+ * 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.mapper;
+
+import org.junit.Test;
+
+import javax.json.Json;
+import java.util.HashMap;
+
+import static org.junit.Assert.assertEquals;
+
+public class OverflowTest {
+ @Test
+ public void overflow() {
+ final Mapper mapper = new MapperBuilder()
+ .setReaderFactory(Json.createReaderFactory(new HashMap<String, Object>() {{
+ put("org.apache.johnzon.max-string-length", 1024 * 1024);
+ put("org.apache.johnzon.default-char-buffer", 2); // we will overflow > 1
+ }}))
+ .setAccessModeName("field")
+ .build();
+ final StringBuilder builder = new StringBuilder();
+ for (int i = 0; i < 1024 * 1024; i++) {
+ builder.append("a");
+ }
+ final String val = builder.toString();
+ final Value value = mapper.readObject("{\"value\":\"" + val + "\"}", Value.class);
+ assertEquals(val, Value.class.cast(value).value);
+ assertEquals("{\"value\":\"" + val + "\"}", mapper.writeObjectAsString(value));
+ }
+
+ public static class Value {
+ public String value;
+ }
+}