diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/SelectTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/SelectTest.java index 06b7e805f..c6587dfd7 100644 --- a/core/src/test/java/org/apache/struts2/views/jsp/ui/SelectTest.java +++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/SelectTest.java @@ -135,6 +135,45 @@ public class SelectTest extends AbstractUITagTest { verify(SelectTag.class.getResource("Select-3.txt")); } + public void testInteger() throws Exception { + IntegerObject hello = new IntegerObject("hello", 1); + IntegerObject foo = new IntegerObject("foo", 2); + + TestAction testAction = (TestAction) action; + + Collection collection = new ArrayList(2); + // expect strings to be returned, we're still dealing with HTTP here! + collection.add("hello"); + collection.add("foo"); + testAction.setCollection(collection); + + List list2 = new ArrayList(); + list2.add(hello); + list2.add(foo); + list2.add(new IntegerObject("", 3)); + testAction.setList2(list2); + + SelectTag tag = new SelectTag(); + tag.setPageContext(pageContext); + tag.setLabel("mylabel"); + tag.setName("collection"); + tag.setList("list2"); + tag.setListKey("name"); + tag.setListValue("integer"); + tag.setMultiple("true"); + tag.setTitle("mytitle"); + tag.setOnmousedown("alert('onmousedown');"); + tag.setOnmousemove("alert('onmousemove');"); + tag.setOnmouseout("alert('onmouseout');"); + tag.setOnmouseover("alert('onmouseover');"); + tag.setOnmouseup("alert('onmouseup');"); + + tag.doStartTag(); + tag.doEndTag(); + + verify(SelectTag.class.getResource("Select-14.txt")); + } + public class BigDecimalObject { private String name; private BigDecimal bigDecimal; @@ -153,6 +192,24 @@ public class SelectTest extends AbstractUITagTest { } } + public class IntegerObject { + private String name; + private Integer integer; + + public IntegerObject(String name, Integer integer) { + this.name = name; + this.integer = integer; + } + + public String getName() { + return name; + } + + public Integer getInteger() { + return integer; + } + } + public class ByteObject { private String name; private Byte byteValue; diff --git a/core/src/test/resources/org/apache/struts2/views/jsp/ui/Select-14.txt b/core/src/test/resources/org/apache/struts2/views/jsp/ui/Select-14.txt new file mode 100644 index 000000000..2f0b05f79 --- /dev/null +++ b/core/src/test/resources/org/apache/struts2/views/jsp/ui/Select-14.txt @@ -0,0 +1,10 @@ + + + + + +