File tree 2 files changed +21
-1
lines changed
main/java/com/fasterxml/jackson/databind/node
test/java/com/fasterxml/jackson/databind/node
2 files changed +21
-1
lines changed Original file line number Diff line number Diff line change @@ -316,7 +316,9 @@ public ArrayNode addAll(ArrayNode other)
316
316
*/
317
317
public ArrayNode addAll (Collection <? extends JsonNode > nodes )
318
318
{
319
- _children .addAll (nodes );
319
+ for (JsonNode node : nodes ) {
320
+ add (node );
321
+ }
320
322
return this ;
321
323
}
322
324
Original file line number Diff line number Diff line change 12
12
import com .fasterxml .jackson .databind .node .JsonNodeFactory ;
13
13
import com .fasterxml .jackson .databind .node .TextNode ;
14
14
import com .fasterxml .jackson .databind .node .TreeTraversingParser ;
15
+ import static java .util .Arrays .asList ;
15
16
16
17
/**
17
18
* Additional tests for {@link ArrayNode} container class.
@@ -186,6 +187,23 @@ public void testNullAdds()
186
187
}
187
188
}
188
189
190
+ public void testAddAllWithNullInCollection ()
191
+ {
192
+ // preparation
193
+ final ArrayNode array = JsonNodeFactory .instance .arrayNode ();
194
+
195
+ // test
196
+ array .addAll (asList (null , JsonNodeFactory .instance .objectNode ()));
197
+
198
+ // assertions
199
+ assertEquals (2 , array .size ());
200
+
201
+ for (JsonNode node : array ) {
202
+ assertFalse (node .isNull ());
203
+ }
204
+ assertEquals (NullNode .getInstance (), array .get (0 ));
205
+ }
206
+
189
207
public void testNullInserts ()
190
208
{
191
209
JsonNodeFactory f = objectMapper ().getNodeFactory ();
You can’t perform that action at this time.
0 commit comments