View Javadoc

1   /*
2    * $Id: OptGroupTest.java 539819 2007-05-20 03:06:34Z mrdon $
3    *
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *  http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  package org.apache.struts2.views.jsp.ui;
22  
23  import java.util.LinkedHashMap;
24  
25  import org.apache.struts2.TestAction;
26  import org.apache.struts2.views.jsp.AbstractUITagTest;
27  
28  /***
29   *
30   */
31  public class OptGroupTest extends AbstractUITagTest {
32  
33      public void testOptGroupSimple() throws Exception {
34          SelectTag selectTag = new SelectTag();
35          selectTag.setName("mySelection");
36          selectTag.setLabel("My Selection");
37          selectTag.setList("%{#{'ONE':'one','TWO':'two','THREE':'three'}}");
38  
39          OptGroupTag optGroupTag1 = new OptGroupTag();
40          optGroupTag1.setLabel("My Label 1");
41          optGroupTag1.setList("%{#{'AAA':'aaa','BBB':'bbb','CCC':'ccc'}}");
42  
43          OptGroupTag optGroupTag2 = new OptGroupTag();
44          optGroupTag2.setLabel("My Label 2");
45          optGroupTag2.setList("%{#{'DDD':'ddd','EEE':'eee','FFF':'fff'}}");
46  
47          selectTag.setPageContext(pageContext);
48          selectTag.doStartTag();
49          optGroupTag1.setPageContext(pageContext);
50          optGroupTag1.doStartTag();
51          optGroupTag1.doEndTag();
52          optGroupTag2.setPageContext(pageContext);
53          optGroupTag2.doStartTag();
54          optGroupTag2.doEndTag();
55          selectTag.doEndTag();
56  
57  
58          //System.out.println(writer.toString());
59          verify(SelectTag.class.getResource("OptGroup-1.txt"));
60      }
61  
62  
63      public void testOptGroupWithSingleSelect() throws Exception {
64  
65          SelectTag selectTag = new SelectTag();
66          selectTag.setName("mySelection");
67          selectTag.setLabel("My Selection");
68          selectTag.setList("%{#{'ONE':'one','TWO':'two','THREE':'three'}}");
69          selectTag.setValue("%{'EEE'}");
70  
71          OptGroupTag optGroupTag1 = new OptGroupTag();
72          optGroupTag1.setLabel("My Label 1");
73          optGroupTag1.setList("%{#{'AAA':'aaa','BBB':'bbb','CCC':'ccc'}}");
74  
75          OptGroupTag optGroupTag2 = new OptGroupTag();
76          optGroupTag2.setLabel("My Label 2");
77          optGroupTag2.setList("%{#{'DDD':'ddd','EEE':'eee','FFF':'fff'}}");
78  
79          selectTag.setPageContext(pageContext);
80          selectTag.doStartTag();
81          optGroupTag1.setPageContext(pageContext);
82          optGroupTag1.doStartTag();
83          optGroupTag1.doEndTag();
84          optGroupTag2.setPageContext(pageContext);
85          optGroupTag2.doStartTag();
86          optGroupTag2.doEndTag();
87          selectTag.doEndTag();
88  
89  
90          //System.out.println(writer.toString());
91          verify(SelectTag.class.getResource("OptGroup-2.txt"));
92      }
93  
94  
95      public void testOptGroupWithMultipleSelect() throws Exception {
96          SelectTag selectTag = new SelectTag();
97          selectTag.setMultiple("true");
98          selectTag.setName("mySelection");
99          selectTag.setLabel("My Selection");
100         selectTag.setList("%{#{'ONE':'one','TWO':'two','THREE':'three'}}");
101         selectTag.setValue("%{{'EEE','BBB','TWO'}}");
102 
103         OptGroupTag optGroupTag1 = new OptGroupTag();
104         optGroupTag1.setLabel("My Label 1");
105         optGroupTag1.setList("%{#{'AAA':'aaa','BBB':'bbb','CCC':'ccc'}}");
106 
107         OptGroupTag optGroupTag2 = new OptGroupTag();
108         optGroupTag2.setLabel("My Label 2");
109         optGroupTag2.setList("%{#{'DDD':'ddd','EEE':'eee','FFF':'fff'}}");
110 
111         selectTag.setPageContext(pageContext);
112         selectTag.doStartTag();
113         optGroupTag1.setPageContext(pageContext);
114         optGroupTag1.doStartTag();
115         optGroupTag1.doEndTag();
116         optGroupTag2.setPageContext(pageContext);
117         optGroupTag2.doStartTag();
118         optGroupTag2.doEndTag();
119         selectTag.doEndTag();
120 
121 
122         //System.out.println(writer.toString());
123         verify(SelectTag.class.getResource("OptGroup-3.txt"));
124     }
125     
126     public void testOptGroupNumbers() throws Exception {
127     	
128     	((TestAction)action).setMap(new LinkedHashMap() {{
129     		put("AAA", "aaa");
130     		put(new Long(111111), "bbb");
131     		put("CCC", "ccc");
132     	}});
133     	
134         SelectTag selectTag = new SelectTag();
135         selectTag.setName("mySelection");
136         selectTag.setLabel("My Selection");
137         selectTag.setList("%{#{'ONE':'one','TWO':'two','THREE':'three'}}");
138 
139         OptGroupTag optGroupTag1 = new OptGroupTag();
140         optGroupTag1.setLabel("My Label 1");
141         optGroupTag1.setList("map");
142 
143         OptGroupTag optGroupTag2 = new OptGroupTag();
144         optGroupTag2.setLabel("My Label 2");
145         optGroupTag2.setList("%{#{'DDD':'ddd','EEE':'eee','FFF':'fff'}}");
146 
147         selectTag.setPageContext(pageContext);
148         selectTag.doStartTag();
149         optGroupTag1.setPageContext(pageContext);
150         optGroupTag1.doStartTag();
151         optGroupTag1.doEndTag();
152         optGroupTag2.setPageContext(pageContext);
153         optGroupTag2.doStartTag();
154         optGroupTag2.doEndTag();
155         selectTag.doEndTag();
156 
157 
158         //System.out.println(writer.toString());
159         verify(SelectTag.class.getResource("OptGroup-4.txt"));
160     }
161 }