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.HashMap;
25
26 import org.apache.struts2.TestConfigurationProvider;
27 import org.apache.struts2.views.jsp.AbstractUITagTest;
28 import org.apache.struts2.views.jsp.ParamTag;
29 import org.apache.struts2.views.jsp.StrutsMockBodyContent;
30
31 import com.mockobjects.servlet.MockJspWriter;
32
33 /***
34 * UI components Tooltip test case.
35 */
36 public class TooltipTest extends AbstractUITagTest {
37
38 public void testWithoutFormOverriding() throws Exception {
39
40
41
42 FormTag formTag = new FormTag();
43 formTag.setPageContext(pageContext);
44 formTag.setId("myFormId");
45 formTag.setAction("testAction");
46 formTag.setName("myForm");
47
48
49 TextFieldTag tag = new TextFieldTag();
50 tag.setPageContext(pageContext);
51 tag.setLabel("MyLabel");
52 tag.setId("myId");
53
54
55 tag.setTooltip("myTooltip");
56 tag.setTooltipConfig(
57 "#{" +
58 "'tooltipIcon':'/struts/tooltip/myTooltip.gif', " +
59 "'tooltipDelay':'500', " +
60 "'jsTooltipEnabled':'true' "+
61 "}"
62 );
63
64 formTag.doStartTag();
65 tag.doStartTag();
66 tag.doEndTag();
67 formTag.doEndTag();
68
69 verify(TooltipTest.class.getResource("tooltip-1.txt"));
70 }
71
72 public void testWithoutFormOverridingNew() throws Exception {
73
74
75
76 FormTag formTag = new FormTag();
77 formTag.setPageContext(pageContext);
78 formTag.setId("myFormId");
79 formTag.setAction("testAction");
80 formTag.setName("myForm");
81
82
83 TextFieldTag tag = new TextFieldTag();
84 tag.setPageContext(pageContext);
85 tag.setLabel("MyLabel");
86 tag.setId("myId");
87
88
89
90 tag.setTooltip("myTooltip");
91 tag.setTooltipIconPath("/struts/tooltip/myTooltip.gif");
92 tag.setTooltipDelay("500");
93 tag.setJavascriptTooltip("true");
94
95
96 formTag.doStartTag();
97 tag.doStartTag();
98 tag.doEndTag();
99 formTag.doEndTag();
100
101 verify(TooltipTest.class.getResource("tooltip-1.txt"));
102 }
103
104 public void testWithFormOverriding() throws Exception {
105
106 FormTag formTag = new FormTag();
107 formTag.setPageContext(pageContext);
108 formTag.setName("myForm");
109 formTag.setId("myFormId");
110 formTag.setAction("testAction");
111
112 formTag.setTooltipConfig(
113 "#{" +
114 "'tooltipIcon':'/struts/tooltip/myTooltip.gif', " +
115 "'tooltipDelay':'500', " +
116 "'jsTooltipEnabled':'true' "+
117 "}"
118 );
119
120
121 TextFieldTag tag = new TextFieldTag();
122 tag.setPageContext(pageContext);
123 tag.setLabel("MyLabel");
124 tag.setId("myId");
125
126 tag.setTooltip("myTooltip");
127
128 formTag.doStartTag();
129 tag.doStartTag();
130 tag.doEndTag();
131 formTag.doEndTag();
132
133 verify(TooltipTest.class.getResource("tooltip-2.txt"));
134 }
135
136 public void testWithFormOverridingNew() throws Exception {
137
138 FormTag formTag = new FormTag();
139 formTag.setPageContext(pageContext);
140 formTag.setName("myForm");
141 formTag.setId("myFormId");
142 formTag.setAction("testAction");
143
144
145 formTag.setTooltip("myTooltip");
146 formTag.setTooltipIconPath("/struts/tooltip/myTooltip.gif");
147 formTag.setTooltipDelay("500");
148 formTag.setJavascriptTooltip("true");
149
150
151 TextFieldTag tag = new TextFieldTag();
152 tag.setPageContext(pageContext);
153 tag.setLabel("MyLabel");
154 tag.setId("myId");
155
156 tag.setTooltip("myTooltip");
157
158 formTag.doStartTag();
159 tag.doStartTag();
160 tag.doEndTag();
161 formTag.doEndTag();
162
163 verify(TooltipTest.class.getResource("tooltip-2.txt"));
164 }
165
166 public void testWithPartialFormOverriding() throws Exception {
167
168 FormTag formTag = new FormTag();
169 formTag.setName("myForm");
170 formTag.setPageContext(pageContext);
171 formTag.setId("myFormId");
172 formTag.setAction("testAction");
173
174 formTag.setTooltipConfig(
175 "#{" +
176 "'tooltipIcon':'/struts/tooltip/myTooltip.gif', " +
177 "'tooltipDelay':'500', " +
178 "'jsTooltipEnabled':'true' "+
179 "}"
180 );
181
182
183 TextFieldTag tag = new TextFieldTag();
184 tag.setPageContext(pageContext);
185 tag.setLabel("MyLabel");
186 tag.setId("myId");
187
188 tag.setTooltip("myTooltip");
189 tag.setTooltipConfig(
190 "#{" +
191 "'tooltipIcon':'/struts/tooltip/myTooltip2.gif', " +
192 "'tooltipDelay':'5000' " +
193 "}"
194 );
195
196 formTag.doStartTag();
197 tag.doStartTag();
198 tag.doEndTag();
199 formTag.doEndTag();
200
201 verify(TooltipTest.class.getResource("tooltip-3.txt"));
202 }
203
204 public void testWithPartialFormOverridingNew() throws Exception {
205
206 FormTag formTag = new FormTag();
207 formTag.setName("myForm");
208 formTag.setPageContext(pageContext);
209 formTag.setId("myFormId");
210 formTag.setAction("testAction");
211
212
213 formTag.setTooltip("myTooltip");
214 formTag.setTooltipIconPath("/struts/tooltip/myTooltip.gif");
215 formTag.setTooltipDelay("500");
216 formTag.setJavascriptTooltip("true");
217
218
219 TextFieldTag tag = new TextFieldTag();
220 tag.setPageContext(pageContext);
221 tag.setLabel("MyLabel");
222 tag.setId("myId");
223
224
225
226 tag.setTooltip("myTooltip");
227 tag.setTooltipIconPath("/struts/tooltip/myTooltip2.gif");
228 tag.setTooltipDelay("5000");
229 tag.setJavascriptTooltip("true");
230
231 formTag.doStartTag();
232 tag.doStartTag();
233 tag.doEndTag();
234 formTag.doEndTag();
235
236 verify(TooltipTest.class.getResource("tooltip-3.txt"));
237 }
238
239 public void testUsingParamValueToSetConfigurations() throws Exception {
240 FormTag formTag = new FormTag();
241 formTag.setName("myForm");
242 formTag.setPageContext(pageContext);
243 formTag.setId("myFormId");
244 formTag.setAction("testAction");
245
246
247 ParamTag formParamTag = new ParamTag();
248 formParamTag.setPageContext(pageContext);
249 formParamTag.setName("tooltipConfig");
250 formParamTag.setValue(
251 "#{" +
252 "'tooltipIcon':'/struts/tooltip/myTooltip.gif', " +
253 "'tooltipDelay':'500', " +
254 "'jsTooltipEnabled':'true' "+
255 "}"
256 );
257
258
259 TextFieldTag tag = new TextFieldTag();
260 tag.setPageContext(pageContext);
261 tag.setLabel("MyLabel");
262 tag.setId("myId");
263 tag.setTooltip("myTooltip");
264
265 ParamTag textFieldParamTag = new ParamTag();
266 textFieldParamTag.setPageContext(pageContext);
267 textFieldParamTag.setName("tooltipConfig");
268 textFieldParamTag.setValue(
269 "#{" +
270 "'tooltipIcon':'/struts/tooltip/myTooltip2.gif', " +
271 "'tooltipDelay':'5000' "+
272 "}"
273 );
274
275 formTag.doStartTag();
276 formParamTag.doStartTag();
277 formParamTag.doEndTag();
278 tag.doStartTag();
279 textFieldParamTag.doStartTag();
280 textFieldParamTag.doEndTag();
281 tag.doEndTag();
282 formTag.doEndTag();
283
284 verify(TooltipTest.class.getResource("tooltip-3.txt"));
285 }
286
287
288 public void testUsingParamBodyValueToSetConfigurations() throws Exception {
289
290 FormTag formTag = new FormTag();
291 formTag.setName("myForm");
292 formTag.setPageContext(pageContext);
293 formTag.setId("myFormId");
294 formTag.setAction("testAction");
295
296
297 ParamTag formParamTag = new ParamTag();
298 formParamTag.setPageContext(pageContext);
299 formParamTag.setName("tooltipConfig");
300 StrutsMockBodyContent bodyContent = new StrutsMockBodyContent(new MockJspWriter());
301 bodyContent.setString(
302 "tooltipIcon=/struts/tooltip/myTooltip.gif| " +
303 "tooltipDelay=500| " +
304 "jsTooltipEnabled=true "
305 );
306 formParamTag.setBodyContent(bodyContent);
307
308 TextFieldTag tag = new TextFieldTag();
309 tag.setPageContext(pageContext);
310 tag.setLabel("MyLabel");
311 tag.setId("myId");
312 tag.setTooltip("myTooltip");
313
314
315 ParamTag textFieldParamTag = new ParamTag();
316 textFieldParamTag.setPageContext(pageContext);
317 textFieldParamTag.setName("tooltipConfig");
318 StrutsMockBodyContent bodyContent2 = new StrutsMockBodyContent(new MockJspWriter());
319 bodyContent2.setString(
320 "tooltipIcon=/struts/tooltip/myTooltip2.gif| " +
321 "tooltipDelay=5000 "
322 );
323 textFieldParamTag.setBodyContent(bodyContent2);
324
325 formTag.doStartTag();
326 formParamTag.doStartTag();
327 formParamTag.doEndTag();
328 tag.doStartTag();
329 textFieldParamTag.doStartTag();
330 textFieldParamTag.doEndTag();
331 tag.doEndTag();
332 formTag.doEndTag();
333
334 System.out.println(writer.toString());
335
336 verify(TooltipTest.class.getResource("tooltip-3.txt"));
337 }
338
339 /***
340 * @throws Exception
341 *
342 */
343 public void setUp() throws Exception {
344 super.setUp();
345 initDispatcher(new HashMap<String,String>(){{
346 put("configProviders", TestConfigurationProvider.class.getName());
347 }});
348 }
349 }