1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.struts2.views.jsp.ui;
19
20 import org.apache.struts2.views.jsp.AbstractUITagTest;
21
22 /***
23 *
24 */
25 public class OptGroupTest extends AbstractUITagTest {
26
27
28 public void testOptGroupSimple() throws Exception {
29 SelectTag selectTag = new SelectTag();
30 selectTag.setName("mySelection");
31 selectTag.setLabel("My Selection");
32 selectTag.setList("%{#{'ONE':'one','TWO':'two','THREE':'three'}}");
33
34 OptGroupTag optGroupTag1 = new OptGroupTag();
35 optGroupTag1.setLabel("My Label 1");
36 optGroupTag1.setList("%{#{'AAA':'aaa','BBB':'bbb','CCC':'ccc'}}");
37
38 OptGroupTag optGroupTag2 = new OptGroupTag();
39 optGroupTag2.setLabel("My Label 2");
40 optGroupTag2.setList("%{#{'DDD':'ddd','EEE':'eee','FFF':'fff'}}");
41
42 selectTag.setPageContext(pageContext);
43 selectTag.doStartTag();
44 optGroupTag1.setPageContext(pageContext);
45 optGroupTag1.doStartTag();
46 optGroupTag1.doEndTag();
47 optGroupTag2.setPageContext(pageContext);
48 optGroupTag2.doStartTag();
49 optGroupTag2.doEndTag();
50 selectTag.doEndTag();
51
52
53
54 verify(SelectTag.class.getResource("OptGroup-1.txt"));
55 }
56
57
58 public void testOptGroupWithSingleSelect() throws Exception {
59
60 SelectTag selectTag = new SelectTag();
61 selectTag.setName("mySelection");
62 selectTag.setLabel("My Selection");
63 selectTag.setList("%{#{'ONE':'one','TWO':'two','THREE':'three'}}");
64 selectTag.setValue("%{'EEE'}");
65
66 OptGroupTag optGroupTag1 = new OptGroupTag();
67 optGroupTag1.setLabel("My Label 1");
68 optGroupTag1.setList("%{#{'AAA':'aaa','BBB':'bbb','CCC':'ccc'}}");
69
70 OptGroupTag optGroupTag2 = new OptGroupTag();
71 optGroupTag2.setLabel("My Label 2");
72 optGroupTag2.setList("%{#{'DDD':'ddd','EEE':'eee','FFF':'fff'}}");
73
74 selectTag.setPageContext(pageContext);
75 selectTag.doStartTag();
76 optGroupTag1.setPageContext(pageContext);
77 optGroupTag1.doStartTag();
78 optGroupTag1.doEndTag();
79 optGroupTag2.setPageContext(pageContext);
80 optGroupTag2.doStartTag();
81 optGroupTag2.doEndTag();
82 selectTag.doEndTag();
83
84
85
86 verify(SelectTag.class.getResource("OptGroup-2.txt"));
87 }
88
89
90 public void testOptGroupWithMultipleSelect() throws Exception {
91 SelectTag selectTag = new SelectTag();
92 selectTag.setMultiple("true");
93 selectTag.setName("mySelection");
94 selectTag.setLabel("My Selection");
95 selectTag.setList("%{#{'ONE':'one','TWO':'two','THREE':'three'}}");
96 selectTag.setValue("%{{'EEE','BBB','TWO'}}");
97
98 OptGroupTag optGroupTag1 = new OptGroupTag();
99 optGroupTag1.setLabel("My Label 1");
100 optGroupTag1.setList("%{#{'AAA':'aaa','BBB':'bbb','CCC':'ccc'}}");
101
102 OptGroupTag optGroupTag2 = new OptGroupTag();
103 optGroupTag2.setLabel("My Label 2");
104 optGroupTag2.setList("%{#{'DDD':'ddd','EEE':'eee','FFF':'fff'}}");
105
106 selectTag.setPageContext(pageContext);
107 selectTag.doStartTag();
108 optGroupTag1.setPageContext(pageContext);
109 optGroupTag1.doStartTag();
110 optGroupTag1.doEndTag();
111 optGroupTag2.setPageContext(pageContext);
112 optGroupTag2.doStartTag();
113 optGroupTag2.doEndTag();
114 selectTag.doEndTag();
115
116
117
118 verify(SelectTag.class.getResource("OptGroup-3.txt"));
119 }
120 }