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.TestConfigurationProvider;
21 import org.apache.struts2.views.jsp.AbstractUITagTest;
22 import org.apache.struts2.views.jsp.ParamTag;
23 import org.apache.struts2.views.jsp.StrutsMockBodyContent;
24
25 import com.mockobjects.servlet.MockJspWriter;
26
27 /***
28 * UI components Tooltip test case.
29 */
30 public class TooltipTest extends AbstractUITagTest {
31
32 public void testWithoutFormOverriding() throws Exception {
33
34 configurationManager.clearConfigurationProviders();
35 configurationManager.addConfigurationProvider(new TestConfigurationProvider());
36
37
38
39 FormTag formTag = new FormTag();
40 formTag.setPageContext(pageContext);
41 formTag.setId("myFormId");
42 formTag.setAction("testAction");
43 formTag.setName("myForm");
44
45
46 TextFieldTag tag = new TextFieldTag();
47 tag.setPageContext(pageContext);
48 tag.setLabel("MyLabel");
49 tag.setId("myId");
50
51
52 tag.setTooltip("myTooltip");
53 tag.setTooltipConfig(
54 "#{" +
55 "'tooltipIcon':'/struts/tooltip/myTooltip.gif', " +
56 "'tooltipDelay':'500', " +
57 "'jsTooltipEnabled':'true' "+
58 "}"
59 );
60
61 formTag.doStartTag();
62 tag.doStartTag();
63 tag.doEndTag();
64 formTag.doEndTag();
65
66 verify(TooltipTest.class.getResource("tooltip-1.txt"));
67 }
68
69 public void testWithFormOverriding() throws Exception {
70
71 configurationManager.clearConfigurationProviders();
72 configurationManager.addConfigurationProvider(new TestConfigurationProvider());
73
74 FormTag formTag = new FormTag();
75 formTag.setPageContext(pageContext);
76 formTag.setName("myForm");
77 formTag.setId("myFormId");
78 formTag.setAction("testAction");
79
80 formTag.setTooltipConfig(
81 "#{" +
82 "'tooltipIcon':'/struts/tooltip/myTooltip.gif', " +
83 "'tooltipDelay':'500', " +
84 "'jsTooltipEnabled':'true' "+
85 "}"
86 );
87
88
89 TextFieldTag tag = new TextFieldTag();
90 tag.setPageContext(pageContext);
91 tag.setLabel("MyLabel");
92 tag.setId("myId");
93
94 tag.setTooltip("myTooltip");
95
96 formTag.doStartTag();
97 tag.doStartTag();
98 tag.doEndTag();
99 formTag.doEndTag();
100
101 verify(TooltipTest.class.getResource("tooltip-2.txt"));
102 }
103
104 public void testWithPartialFormOverriding() throws Exception {
105
106 configurationManager.clearConfigurationProviders();
107 configurationManager.addConfigurationProvider(new TestConfigurationProvider());
108
109 FormTag formTag = new FormTag();
110 formTag.setName("myForm");
111 formTag.setPageContext(pageContext);
112 formTag.setId("myFormId");
113 formTag.setAction("testAction");
114
115 formTag.setTooltipConfig(
116 "#{" +
117 "'tooltipIcon':'/struts/tooltip/myTooltip.gif', " +
118 "'tooltipDelay':'500', " +
119 "'jsTooltipEnabled':'true' "+
120 "}"
121 );
122
123
124 TextFieldTag tag = new TextFieldTag();
125 tag.setPageContext(pageContext);
126 tag.setLabel("MyLabel");
127 tag.setId("myId");
128
129 tag.setTooltip("myTooltip");
130 tag.setTooltipConfig(
131 "#{" +
132 "'tooltipIcon':'/struts/tooltip/myTooltip2.gif', " +
133 "'tooltipDelay':'5000' " +
134 "}"
135 );
136
137 formTag.doStartTag();
138 tag.doStartTag();
139 tag.doEndTag();
140 formTag.doEndTag();
141
142 verify(TooltipTest.class.getResource("tooltip-3.txt"));
143 }
144
145
146 public void testUsingParamValueToSetConfigurations() throws Exception {
147 configurationManager.clearConfigurationProviders();
148 configurationManager.addConfigurationProvider(new TestConfigurationProvider());
149
150 FormTag formTag = new FormTag();
151 formTag.setName("myForm");
152 formTag.setPageContext(pageContext);
153 formTag.setId("myFormId");
154 formTag.setAction("testAction");
155
156
157 ParamTag formParamTag = new ParamTag();
158 formParamTag.setPageContext(pageContext);
159 formParamTag.setName("tooltipConfig");
160 formParamTag.setValue(
161 "#{" +
162 "'tooltipIcon':'/struts/tooltip/myTooltip.gif', " +
163 "'tooltipDelay':'500', " +
164 "'jsTooltipEnabled':'true' "+
165 "}"
166 );
167
168
169 TextFieldTag tag = new TextFieldTag();
170 tag.setPageContext(pageContext);
171 tag.setLabel("MyLabel");
172 tag.setId("myId");
173 tag.setTooltip("myTooltip");
174
175 ParamTag textFieldParamTag = new ParamTag();
176 textFieldParamTag.setPageContext(pageContext);
177 textFieldParamTag.setName("tooltipConfig");
178 textFieldParamTag.setValue(
179 "#{" +
180 "'tooltipIcon':'/struts/tooltip/myTooltip2.gif', " +
181 "'tooltipDelay':'5000' "+
182 "}"
183 );
184
185 formTag.doStartTag();
186 formParamTag.doStartTag();
187 formParamTag.doEndTag();
188 tag.doStartTag();
189 textFieldParamTag.doStartTag();
190 textFieldParamTag.doEndTag();
191 tag.doEndTag();
192 formTag.doEndTag();
193
194 verify(TooltipTest.class.getResource("tooltip-3.txt"));
195 }
196
197
198 public void testUsingParamBodyValueToSetConfigurations() throws Exception {
199 configurationManager.clearConfigurationProviders();
200 configurationManager.addConfigurationProvider(new TestConfigurationProvider());
201
202 FormTag formTag = new FormTag();
203 formTag.setName("myForm");
204 formTag.setPageContext(pageContext);
205 formTag.setId("myFormId");
206 formTag.setAction("testAction");
207
208
209 ParamTag formParamTag = new ParamTag();
210 formParamTag.setPageContext(pageContext);
211 formParamTag.setName("tooltipConfig");
212 StrutsMockBodyContent bodyContent = new StrutsMockBodyContent(new MockJspWriter());
213 bodyContent.setString(
214 "tooltipIcon=/struts/tooltip/myTooltip.gif| " +
215 "tooltipDelay=500| " +
216 "jsTooltipEnabled=true "
217 );
218 formParamTag.setBodyContent(bodyContent);
219
220 TextFieldTag tag = new TextFieldTag();
221 tag.setPageContext(pageContext);
222 tag.setLabel("MyLabel");
223 tag.setId("myId");
224 tag.setTooltip("myTooltip");
225
226
227 ParamTag textFieldParamTag = new ParamTag();
228 textFieldParamTag.setPageContext(pageContext);
229 textFieldParamTag.setName("tooltipConfig");
230 StrutsMockBodyContent bodyContent2 = new StrutsMockBodyContent(new MockJspWriter());
231 bodyContent2.setString(
232 "tooltipIcon=/struts/tooltip/myTooltip2.gif| " +
233 "tooltipDelay=5000 "
234 );
235 textFieldParamTag.setBodyContent(bodyContent2);
236
237 formTag.doStartTag();
238 formParamTag.doStartTag();
239 formParamTag.doEndTag();
240 tag.doStartTag();
241 textFieldParamTag.doStartTag();
242 textFieldParamTag.doEndTag();
243 tag.doEndTag();
244 formTag.doEndTag();
245
246 System.out.println(writer.toString());
247
248 verify(TooltipTest.class.getResource("tooltip-3.txt"));
249 }
250 }