From 9857ac4484cf001d21397e0ecad48df22bb1f3e3 Mon Sep 17 00:00:00 2001 From: Looly Date: Sun, 29 Nov 2020 00:46:37 +0800 Subject: [PATCH] fix test --- .../src/main/java/cn/hutool/json/JSONObject.java | 6 +++--- .../src/test/java/cn/hutool/json/JSONObjectTest.java | 10 ++++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/hutool-json/src/main/java/cn/hutool/json/JSONObject.java b/hutool-json/src/main/java/cn/hutool/json/JSONObject.java index 0edcec220..67a5e20ae 100644 --- a/hutool-json/src/main/java/cn/hutool/json/JSONObject.java +++ b/hutool-json/src/main/java/cn/hutool/json/JSONObject.java @@ -420,7 +420,7 @@ public class JSONObject implements JSON, JSONGetter, Map } /** - * 积累值。类似于put,当key对应value已经存在时,与value组成新的JSONArray.
+ * 积累值。类似于set,当key对应value已经存在时,与value组成新的JSONArray.
* 如果只有一个值,此值就是value,如果多个值,则是添加到新的JSONArray中 * * @param key 键 @@ -432,11 +432,11 @@ public class JSONObject implements JSON, JSONGetter, Map InternalJSONUtil.testValidity(value); Object object = this.getObj(key); if (object == null) { - this.set(key, (value instanceof JSONArray) ? value : new JSONArray(this.config).set(value)); + this.set(key, value); } else if (object instanceof JSONArray) { ((JSONArray) object).set(value); } else { - this.set(key, new JSONArray(this.config).set(object).set(value)); + this.set(key, JSONUtil.createArray(this.config).set(object).set(value)); } return this; } diff --git a/hutool-json/src/test/java/cn/hutool/json/JSONObjectTest.java b/hutool-json/src/test/java/cn/hutool/json/JSONObjectTest.java index 802263c58..da14f1e76 100644 --- a/hutool-json/src/test/java/cn/hutool/json/JSONObjectTest.java +++ b/hutool-json/src/test/java/cn/hutool/json/JSONObjectTest.java @@ -538,7 +538,13 @@ public class JSONObjectTest { @Test public void accumulateTest(){ - final JSONObject accumulate = JSONUtil.createObj().accumulate("key1", "value1"); - Assert.assertEquals("{\"key1\":[\"value1\"]}", accumulate.toString()); + final JSONObject jsonObject = JSONUtil.createObj().accumulate("key1", "value1"); + Assert.assertEquals("{\"key1\":\"value1\"}", jsonObject.toString()); + + jsonObject.accumulate("key1", "value2"); + Assert.assertEquals("{\"key1\":[\"value1\",\"value2\"]}", jsonObject.toString()); + + jsonObject.accumulate("key1", "value3"); + Assert.assertEquals("{\"key1\":[\"value1\",\"value2\",\"value3\"]}", jsonObject.toString()); } }