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