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&amp;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&amp;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


Reply via email to