View Javadoc

1   /*
2    * $Id: OptGroupTest.java 651946 2008-04-27 13:41:38Z apetrelli $
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  
22  package org.apache.struts2.views.jsp.ui;
23  
24  import java.util.LinkedHashMap;
25  
26  import org.apache.struts2.TestAction;
27  import org.apache.struts2.views.jsp.AbstractUITagTest;
28  
29  /***
30   *
31   */
32  public class OptGroupTest extends AbstractUITagTest {
33  
34      public void testOptGroupSimple() throws Exception {
35          SelectTag selectTag = new SelectTag();
36          selectTag.setName("mySelection");
37          selectTag.setLabel("My Selection");
38          selectTag.setList("%{#{'ONE':'one','TWO':'two','THREE':'three'}}");
39  
40          OptGroupTag optGroupTag1 = new OptGroupTag();
41          optGroupTag1.setLabel("My Label 1");
42          optGroupTag1.setList("%{#{'AAA':'aaa','BBB':'bbb','CCC':'ccc'}}");
43  
44          OptGroupTag optGroupTag2 = new OptGroupTag();
45          optGroupTag2.setLabel("My Label 2");
46          optGroupTag2.setList("%{#{'DDD':'ddd','EEE':'eee','FFF':'fff'}}");
47  
48          selectTag.setPageContext(pageContext);
49          selectTag.doStartTag();
50          optGroupTag1.setPageContext(pageContext);
51          optGroupTag1.doStartTag();
52          optGroupTag1.doEndTag();
53          optGroupTag2.setPageContext(pageContext);
54          optGroupTag2.doStartTag();
55          optGroupTag2.doEndTag();
56          selectTag.doEndTag();
57  
58  
59          //System.out.println(writer.toString());
60          verify(SelectTag.class.getResource("OptGroup-1.txt"));
61      }
62  
63  
64      public void testOptGroupWithSingleSelect() throws Exception {
65  
66          SelectTag selectTag = new SelectTag();
67          selectTag.setName("mySelection");
68          selectTag.setLabel("My Selection");
69          selectTag.setList("%{#{'ONE':'one','TWO':'two','THREE':'three'}}");
70          selectTag.setValue("%{'EEE'}");
71  
72          OptGroupTag optGroupTag1 = new OptGroupTag();
73          optGroupTag1.setLabel("My Label 1");
74          optGroupTag1.setList("%{#{'AAA':'aaa','BBB':'bbb','CCC':'ccc'}}");
75  
76          OptGroupTag optGroupTag2 = new OptGroupTag();
77          optGroupTag2.setLabel("My Label 2");
78          optGroupTag2.setList("%{#{'DDD':'ddd','EEE':'eee','FFF':'fff'}}");
79  
80          selectTag.setPageContext(pageContext);
81          selectTag.doStartTag();
82          optGroupTag1.setPageContext(pageContext);
83          optGroupTag1.doStartTag();
84          optGroupTag1.doEndTag();
85          optGroupTag2.setPageContext(pageContext);
86          optGroupTag2.doStartTag();
87          optGroupTag2.doEndTag();
88          selectTag.doEndTag();
89  
90  
91          //System.out.println(writer.toString());
92          verify(SelectTag.class.getResource("OptGroup-2.txt"));
93      }
94  
95  
96      public void testOptGroupWithMultipleSelect() throws Exception {
97          SelectTag selectTag = new SelectTag();
98          selectTag.setMultiple("true");
99          selectTag.setName("mySelection");
100         selectTag.setLabel("My Selection");
101         selectTag.setList("%{#{'ONE':'one','TWO':'two','THREE':'three'}}");
102         selectTag.setValue("%{{'EEE','BBB','TWO'}}");
103 
104         OptGroupTag optGroupTag1 = new OptGroupTag();
105         optGroupTag1.setLabel("My Label 1");
106         optGroupTag1.setList("%{#{'AAA':'aaa','BBB':'bbb','CCC':'ccc'}}");
107 
108         OptGroupTag optGroupTag2 = new OptGroupTag();
109         optGroupTag2.setLabel("My Label 2");
110         optGroupTag2.setList("%{#{'DDD':'ddd','EEE':'eee','FFF':'fff'}}");
111 
112         selectTag.setPageContext(pageContext);
113         selectTag.doStartTag();
114         optGroupTag1.setPageContext(pageContext);
115         optGroupTag1.doStartTag();
116         optGroupTag1.doEndTag();
117         optGroupTag2.setPageContext(pageContext);
118         optGroupTag2.doStartTag();
119         optGroupTag2.doEndTag();
120         selectTag.doEndTag();
121 
122 
123         //System.out.println(writer.toString());
124         verify(SelectTag.class.getResource("OptGroup-3.txt"));
125     }
126     
127     public void testOptGroupNumbers() throws Exception {
128     	
129     	((TestAction)action).setMap(new LinkedHashMap() {{
130     		put("AAA", "aaa");
131     		put(new Long(111111), "bbb");
132     		put("CCC", "ccc");
133     	}});
134     	
135         SelectTag selectTag = new SelectTag();
136         selectTag.setName("mySelection");
137         selectTag.setLabel("My Selection");
138         selectTag.setList("%{#{'ONE':'one','TWO':'two','THREE':'three'}}");
139 
140         OptGroupTag optGroupTag1 = new OptGroupTag();
141         optGroupTag1.setLabel("My Label 1");
142         optGroupTag1.setList("map");
143 
144         OptGroupTag optGroupTag2 = new OptGroupTag();
145         optGroupTag2.setLabel("My Label 2");
146         optGroupTag2.setList("%{#{'DDD':'ddd','EEE':'eee','FFF':'fff'}}");
147 
148         selectTag.setPageContext(pageContext);
149         selectTag.doStartTag();
150         optGroupTag1.setPageContext(pageContext);
151         optGroupTag1.doStartTag();
152         optGroupTag1.doEndTag();
153         optGroupTag2.setPageContext(pageContext);
154         optGroupTag2.doStartTag();
155         optGroupTag2.doEndTag();
156         selectTag.doEndTag();
157 
158 
159         //System.out.println(writer.toString());
160         verify(SelectTag.class.getResource("OptGroup-4.txt"));
161     }
162 }