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.ArrayList;
24 import java.util.LinkedHashMap;
25 import java.util.List;
26 import java.util.Map;
27
28 import org.apache.struts2.TestAction;
29 import org.apache.struts2.views.jsp.AbstractUITagTest;
30
31
32 /***
33 * Test case for ComboBox component.
34 */
35 public class ComboBoxTest extends AbstractUITagTest {
36
37 public void testGenericSimple() throws Exception {
38 ComboBoxTag tag = new ComboBoxTag();
39 prepareTagGeneric(tag);
40 verifyGenericProperties(tag, "simple", null);
41 }
42
43 public void testGenericXhtml() throws Exception {
44 ComboBoxTag tag = new ComboBoxTag();
45 prepareTagGeneric(tag);
46 verifyGenericProperties(tag, "xhtml", null);
47 }
48
49 public void testGenericAjax() throws Exception {
50 ComboBoxTag tag = new ComboBoxTag();
51 prepareTagGeneric(tag);
52 verifyGenericProperties(tag, "ajax", null);
53 }
54
55 private void prepareTagGeneric(ComboBoxTag tag) {
56 TestAction testAction = (TestAction) action;
57 ArrayList collection = new ArrayList();
58 collection.add("foo");
59 collection.add("bar");
60 collection.add("baz");
61
62 testAction.setCollection(collection);
63
64 tag.setList("collection");
65 }
66
67 public void testSimple() throws Exception {
68 TestAction testAction = (TestAction) action;
69 testAction.setFoo("hello");
70
71 ArrayList collection = new ArrayList();
72 collection.add("foo");
73 collection.add("bar");
74 collection.add("baz");
75 testAction.setCollection(collection);
76
77 ComboBoxTag tag = new ComboBoxTag();
78 tag.setPageContext(pageContext);
79 tag.setLabel("mylabel");
80 tag.setName("foo");
81 tag.setList("collection");
82
83 tag.doStartTag();
84 tag.doEndTag();
85
86 verify(ComboBoxTag.class.getResource("ComboBox-1.txt"));
87 }
88
89 public void testWithEmptyOptionAndHeader() throws Exception {
90 TestAction testAction = (TestAction) action;
91 testAction.setFoo("banana");
92
93 List l = new ArrayList();
94 l.add("apple");
95 l.add("banana");
96 l.add("pineaple");
97 l.add("grapes");
98 testAction.setCollection(l);
99
100 ComboBoxTag tag = new ComboBoxTag();
101 tag.setPageContext(pageContext);
102 tag.setLabel("My Favourite Fruit");
103 tag.setName("myFavouriteFruit");
104 tag.setEmptyOption("true");
105 tag.setHeaderKey("-1");
106 tag.setHeaderValue("--- Please Select ---");
107 tag.setList("collection");
108 tag.setValue("%{foo}");
109
110 tag.doStartTag();
111 tag.doEndTag();
112
113 verify(ComboBoxTag.class.getResource("ComboBox-2.txt"));
114 }
115
116 public void testWithMap() throws Exception {
117 TestAction testAction = (TestAction) action;
118 testAction.setFoo("banana");
119
120 Map m = new LinkedHashMap();
121 m.put("apple", "apple");
122 m.put("banana", "banana");
123 m.put("pineaple", "pineaple");
124 m.put("grapes", "grapes");
125 testAction.setMap(m);
126
127 ComboBoxTag tag = new ComboBoxTag();
128 tag.setPageContext(pageContext);
129 tag.setLabel("My Favourite Fruit");
130 tag.setName("myFavouriteFruit");
131 tag.setHeaderKey("-1");
132 tag.setHeaderValue("--- Please Select ---");
133 tag.setEmptyOption("true");
134 tag.setList("map");
135 tag.setValue("%{foo}");
136
137 tag.doStartTag();
138 tag.doEndTag();
139
140 verify(ComboBoxTag.class.getResource("ComboBox-3.txt"));
141 }
142 }