1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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
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
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
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
159 verify(SelectTag.class.getResource("OptGroup-4.txt"));
160 }
161 }