Repository: struts Updated Branches: refs/heads/master f457c774e -> 4f29d8861
added testcase for WW-4312 / #69 Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/4f29d886 Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/4f29d886 Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/4f29d886 Branch: refs/heads/master Commit: 4f29d8861a57146fa50a1dcebe5f60e0ef9f86cd Parents: f457c77 Author: cnenning <cnenn...@apache.org> Authored: Tue Jan 5 13:47:15 2016 +0100 Committer: cnenning <cnenn...@apache.org> Committed: Tue Jan 5 13:47:15 2016 +0100 ---------------------------------------------------------------------- .../components/IteratorComponentTest.java | 38 ++++++++++++++++++++ 1 file changed, 38 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/struts/blob/4f29d886/core/src/test/java/org/apache/struts2/components/IteratorComponentTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/struts2/components/IteratorComponentTest.java b/core/src/test/java/org/apache/struts2/components/IteratorComponentTest.java index 1115493..c9a075a 100644 --- a/core/src/test/java/org/apache/struts2/components/IteratorComponentTest.java +++ b/core/src/test/java/org/apache/struts2/components/IteratorComponentTest.java @@ -76,6 +76,44 @@ public class IteratorComponentTest extends StrutsInternalTestCase { assertEquals("item2 item3 item4 ", out.getBuffer().toString()); } + public void testIteratorWithNulls() throws Exception { + // given + final ValueStack stack = ActionContext.getContext().getValueStack(); + stack.push(new FooAction() { + private List items = Arrays.asList("1", "2", null, "4"); + + public List getItems() { + return items; + } + }); + + StringWriter out = new StringWriter(); + + IteratorComponent ic = new IteratorComponent(stack); + ic.setValue("items"); + ic.setVar("val"); + Property prop = new Property(stack); + + ic.getComponentStack().push(prop); + ic.getComponentStack().push(prop); + ic.getComponentStack().push(prop); + ic.getComponentStack().push(prop); + + String body = ", "; + + // when + assertTrue(ic.start(out)); + + for (int i = 0; i < 4; i++) { + prop.start(out); + prop.end(out, body); + ic.end(out, null); + } + + // then + assertEquals("1, 2, , 4, ", out.getBuffer().toString()); + } + static class FooAction { private List items;