Author: mrdon Date: Sat May 19 20:06:34 2007 New Revision: 539819 URL: http://svn.apache.org/viewvc?view=rev&rev=539819 Log: Improving opt groups to use toString on key, adding tests WW-1672
Added: struts/struts2/branches/STRUTS_2_0_X/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-4.txt Modified: struts/struts2/branches/STRUTS_2_0_X/core/src/main/resources/template/simple/optgroup.ftl struts/struts2/branches/STRUTS_2_0_X/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java struts/struts2/branches/STRUTS_2_0_X/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java Modified: struts/struts2/branches/STRUTS_2_0_X/core/src/main/resources/template/simple/optgroup.ftl URL: http://svn.apache.org/viewvc/struts/struts2/branches/STRUTS_2_0_X/core/src/main/resources/template/simple/optgroup.ftl?view=diff&rev=539819&r1=539818&r2=539819 ============================================================================== --- struts/struts2/branches/STRUTS_2_0_X/core/src/main/resources/template/simple/optgroup.ftl (original) +++ struts/struts2/branches/STRUTS_2_0_X/core/src/main/resources/template/simple/optgroup.ftl Sat May 19 20:06:34 2007 @@ -14,8 +14,9 @@ <#assign trash=stack.push(optGroupBean) /> <#assign tmpKey=stack.findValue(optGroupInternalListUiBean.parameters.listKey) /> <#assign tmpValue=stack.findValue(optGroupInternalListUiBean.parameters.listValue) /> - <option value="${tmpKey}" - <#if tag.contains(parameters.nameValue, tmpKey) == true> + <#assign tmpKeyStr = tmpKey.toString() /> + <option value="${tmpKeyStr}" + <#if tag.contains(parameters.nameValue, tmpKeyStr) == true> selected="selected" </#if> >${tmpValue} Modified: struts/struts2/branches/STRUTS_2_0_X/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java URL: http://svn.apache.org/viewvc/struts/struts2/branches/STRUTS_2_0_X/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java?view=diff&rev=539819&r1=539818&r2=539819 ============================================================================== --- struts/struts2/branches/STRUTS_2_0_X/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java (original) +++ struts/struts2/branches/STRUTS_2_0_X/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java Sat May 19 20:06:34 2007 @@ -97,6 +97,20 @@ requestMock.verify(); responseMock.verify(); } + + public void testMultipleParametersRedirect() throws Exception { + view.setLocation("foo.jsp?foo=bar&baz=jim"); + requestMock.expectAndReturn("getParameterMap", new HashMap()); + requestMock.expectAndReturn("getServletPath", "/namespace/some.action"); + requestMock.expectAndReturn("getAttribute", C.ANY_ARGS, null); + responseMock.expectAndReturn("encodeRedirectURL", "/context/namespace/foo.jsp?foo=bar&baz=jim", "/context/namespace/foo.jsp?foo=bar&baz=jim"); + responseMock.expect("sendRedirect", C.args(C.eq("/context/namespace/foo.jsp?foo=bar&baz=jim"))); + + view.execute(ai); + + requestMock.verify(); + responseMock.verify(); + } protected void setUp() throws Exception { super.setUp(); Modified: struts/struts2/branches/STRUTS_2_0_X/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java URL: http://svn.apache.org/viewvc/struts/struts2/branches/STRUTS_2_0_X/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java?view=diff&rev=539819&r1=539818&r2=539819 ============================================================================== --- struts/struts2/branches/STRUTS_2_0_X/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java (original) +++ struts/struts2/branches/STRUTS_2_0_X/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java Sat May 19 20:06:34 2007 @@ -20,6 +20,9 @@ */ package org.apache.struts2.views.jsp.ui; +import java.util.LinkedHashMap; + +import org.apache.struts2.TestAction; import org.apache.struts2.views.jsp.AbstractUITagTest; /** @@ -27,7 +30,6 @@ */ public class OptGroupTest extends AbstractUITagTest { - public void testOptGroupSimple() throws Exception { SelectTag selectTag = new SelectTag(); selectTag.setName("mySelection"); @@ -119,5 +121,41 @@ //System.out.println(writer.toString()); verify(SelectTag.class.getResource("OptGroup-3.txt")); + } + + public void testOptGroupNumbers() throws Exception { + + ((TestAction)action).setMap(new LinkedHashMap() {{ + put("AAA", "aaa"); + put(new Long(111111), "bbb"); + put("CCC", "ccc"); + }}); + + SelectTag selectTag = new SelectTag(); + selectTag.setName("mySelection"); + selectTag.setLabel("My Selection"); + selectTag.setList("%{#{'ONE':'one','TWO':'two','THREE':'three'}}"); + + OptGroupTag optGroupTag1 = new OptGroupTag(); + optGroupTag1.setLabel("My Label 1"); + optGroupTag1.setList("map"); + + OptGroupTag optGroupTag2 = new OptGroupTag(); + optGroupTag2.setLabel("My Label 2"); + optGroupTag2.setList("%{#{'DDD':'ddd','EEE':'eee','FFF':'fff'}}"); + + selectTag.setPageContext(pageContext); + selectTag.doStartTag(); + optGroupTag1.setPageContext(pageContext); + optGroupTag1.doStartTag(); + optGroupTag1.doEndTag(); + optGroupTag2.setPageContext(pageContext); + optGroupTag2.doStartTag(); + optGroupTag2.doEndTag(); + selectTag.doEndTag(); + + + //System.out.println(writer.toString()); + verify(SelectTag.class.getResource("OptGroup-4.txt")); } } Added: struts/struts2/branches/STRUTS_2_0_X/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-4.txt URL: http://svn.apache.org/viewvc/struts/struts2/branches/STRUTS_2_0_X/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-4.txt?view=auto&rev=539819 ============================================================================== --- struts/struts2/branches/STRUTS_2_0_X/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-4.txt (added) +++ struts/struts2/branches/STRUTS_2_0_X/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-4.txt Sat May 19 20:06:34 2007 @@ -0,0 +1,40 @@ +<tr> + <td class="tdLabel"><label for="mySelection" class="label">My Selection:</label></td> + <td> +<select name="mySelection" id="mySelection"> + <option value="ONE">one</option> + <option value="TWO">two</option> + <option value="THREE">three</option> + +<optgroup + label="My Label 1" +> + + <option value="AAA" + >aaa + </option> + <option value="111111" + >bbb + </option> + <option value="CCC" + >ccc + </option> +</optgroup> +<optgroup + label="My Label 2" +> + + <option value="DDD" + >ddd + </option> + <option value="EEE" + >eee + </option> + <option value="FFF" + >fff + </option> +</optgroup> + +</select> +</td> +</tr> \ No newline at end of file