KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > inversoft > verge > mvc > view > jsp > model > test > RadioTagTest


1 /*
2  * Copyright (c) 2003, Inversoft
3  *
4  * This software is distribuable under the GNU Lesser General Public License.
5  * For more information visit gnu.org.
6  */

7 package com.inversoft.verge.mvc.view.jsp.model.test;
8
9
10 import javax.servlet.jsp.JspException JavaDoc;
11 import javax.servlet.jsp.tagext.Tag JavaDoc;
12
13 import com.inversoft.junit.JspTestCase;
14 import com.inversoft.verge.mvc.view.jsp.html.FormTag;
15 import com.inversoft.verge.mvc.view.jsp.model.RadioTag;
16 import com.inversoft.verge.util.ScopeConstants;
17
18
19 /**
20  * <p>
21  * This class has the test cases for the radio tag
22  * </p>
23  *
24  * @author Brian Pontarelli
25  * @since 2.0
26  * @version 2.0
27  */

28 public class RadioTagTest extends JspTestCase {
29
30     /**
31      * Constructor for RadioTagTest.
32      * @param name
33      */

34     public RadioTagTest(String JavaDoc name) {
35         super(name);
36         setLocal(true);
37     }
38
39
40     /**
41      * Tests the link to a web object
42      */

43     public void testLinkWeb() {
44         Bean bean = new Bean();
45         request.setAttribute("bean", bean);
46         //pageContext.setAttribute("beanVar", bean);
47

48         FormTag parent = new FormTag();
49         RadioTag tag = new RadioTag();
50         tag.setParent(parent);
51         tag.setPageContext(pageContext);
52         tag.setId("test");
53         tag.setName("test");
54         tag.setModel("bean.text");
55         tag.setValue("someValue");
56
57         try {
58             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
59             String JavaDoc tagStr = getPageContext().getMockOut().getText();
60             String JavaDoc compStr = "<input type=\"radio\" id=\"test\" name=\"test\" value=\"someValue\"/>" +
61                 TestTools.createWebLink("bean.text",
62                     "com.inversoft.verge.mvc.view.jsp.model.test.Bean",
63                     ScopeConstants.REQUEST_INT);
64
65             System.out.println("Radio tag: " + tagStr);
66             System.out.println("Compare string: " + compStr);
67             assertEquals("Should be radio", tagStr, compStr);
68         } catch (JspException JavaDoc e) {
69             fail(e.toString());
70         }
71     }
72
73     /**
74      * Tests the checked
75      */

76     public void testChecked() {
77         Bean bean = new Bean();
78         bean.setText("testValue");
79         request.setAttribute("bean", bean);
80         //pageContext.setAttribute("beanVar", bean);
81

82         FormTag parent = new FormTag();
83         RadioTag tag = new RadioTag();
84         tag.setParent(parent);
85         tag.setPageContext(pageContext);
86         tag.setId("test");
87         tag.setName("test");
88         tag.setValue("testValue");
89         tag.setModel("bean.text");
90
91         try {
92             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
93             String JavaDoc tagStr = getPageContext().getMockOut().getText();
94             String JavaDoc compStr = "<input type=\"radio\" id=\"test\" name=\"test\""+
95                 " value=\"testValue\" checked/>" +
96                 TestTools.createWebLink("bean.text",
97                     "com.inversoft.verge.mvc.view.jsp.model.test.Bean",
98                     ScopeConstants.REQUEST_INT);
99
100             System.out.println("Radio tag: " + tagStr);
101             System.out.println("Compare string: " + compStr);
102             assertEquals("Should be radio", tagStr, compStr);
103         } catch (JspException JavaDoc e) {
104             fail(e.toString());
105         }
106     }
107
108     /**
109      * Tests the value is not retrieved
110      */

111     public void testNoGet() {
112         Bean bean = new Bean();
113         bean.setText("testValue");
114         request.setAttribute("bean", bean);
115
116         FormTag parent = new FormTag();
117         RadioTag tag = new RadioTag();
118         tag.setParent(parent);
119         tag.setPageContext(pageContext);
120         tag.setId("test");
121         tag.setName("test");
122         tag.setValue("testValue");
123         tag.setModel("bean.text");
124         tag.setGetValue(false);
125
126         try {
127             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
128             String JavaDoc tagStr = getPageContext().getMockOut().getText();
129             String JavaDoc compStr = "<input type=\"radio\" id=\"test\" name=\"test\""+
130                 " value=\"testValue\"/>" +
131                 TestTools.createWebLink("bean.text",
132                     "com.inversoft.verge.mvc.view.jsp.model.test.Bean",
133                     ScopeConstants.REQUEST_INT);
134
135             System.out.println("Radio tag: " + tagStr);
136             System.out.println("Compare string: " + compStr);
137             assertEquals("Should be radio", tagStr, compStr);
138         } catch (JspException JavaDoc e) {
139             fail(e.toString());
140         }
141     }
142
143     /**
144      * Tests the radio tag gets checked using EL
145      */

146     public void testCheckedEL() {
147         Bean bean = new Bean();
148         bean.setText("testValue");
149         request.setAttribute("bean", bean);
150         //pageContext.setAttribute("beanVar", bean);
151
pageContext.setAttribute("propertyName", "text");
152
153         FormTag parent = new FormTag();
154         RadioTag tag = new RadioTag();
155         tag.setParent(parent);
156         tag.setPageContext(pageContext);
157         tag.setId("test");
158         tag.setName("test");
159         tag.setValue("testValue");
160         tag.setModel("bean.${propertyName}");
161
162         try {
163             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
164             String JavaDoc tagStr = getPageContext().getMockOut().getText();
165             String JavaDoc compStr = "<input type=\"radio\" id=\"test\" name=\"test\""+
166                 " value=\"testValue\" checked/>" +
167                 TestTools.createWebLink("bean.text",
168                     "com.inversoft.verge.mvc.view.jsp.model.test.Bean",
169                     ScopeConstants.REQUEST_INT);
170
171             System.out.println("Radio tag: " + tagStr);
172             System.out.println("Compare string: " + compStr);
173             assertEquals("Should be radio", tagStr, compStr);
174         } catch (JspException JavaDoc e) {
175             fail(e.toString());
176         }
177     }
178
179     /**
180      * Tests the checked
181      */

182     public void testCheckedWithObjects() {
183         Bean bean = new Bean();
184         Bean test = new Bean("textOne", "sameValue");
185         bean.setLocal(test);
186         request.setAttribute("bean", bean);
187         //pageContext.setAttribute("beanVar", bean);
188

189         FormTag parent = new FormTag();
190         RadioTag tag = new RadioTag();
191         tag.setParent(parent);
192         tag.setPageContext(pageContext);
193         tag.setId("test");
194         tag.setName("test");
195
196         Bean compare = new Bean("textTwo", "sameValue");
197         tag.setValue(compare);
198         tag.setModel("bean.local");
199
200         try {
201             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
202             String JavaDoc tagStr = getPageContext().getMockOut().getText();
203             String JavaDoc compStr = "<input type=\"radio\" id=\"test\" name=\"test\""+
204                 " value=\"textTwo\" checked/>" +
205                 TestTools.createWebLink("bean.local",
206                     "com.inversoft.verge.mvc.view.jsp.model.test.Bean",
207                     ScopeConstants.REQUEST_INT);
208
209             System.out.println("Radio tag: " + tagStr);
210             System.out.println("Compare string: " + compStr);
211             assertEquals("Should be radio", tagStr, compStr);
212         } catch (JspException JavaDoc e) {
213             fail(e.toString());
214         }
215     }
216
217     /**
218      * Tests the value is not retrieved when using objects
219      */

220     public void testNoGetObjects() {
221         Bean bean = new Bean();
222         Bean test = new Bean("textOne", "sameValue");
223         bean.setLocal(test);
224         request.setAttribute("bean", bean);
225
226         FormTag parent = new FormTag();
227         RadioTag tag = new RadioTag();
228         tag.setParent(parent);
229         tag.setPageContext(pageContext);
230         tag.setId("test");
231         tag.setName("test");
232         tag.setGetValue(false);
233
234         Bean compare = new Bean("textTwo", "sameValue");
235         tag.setValue(compare);
236         tag.setModel("bean.local");
237
238         try {
239             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
240             String JavaDoc tagStr = getPageContext().getMockOut().getText();
241             String JavaDoc compStr = "<input type=\"radio\" id=\"test\" name=\"test\""+
242                 " value=\"textTwo\"/>" +
243                 TestTools.createWebLink("bean.local",
244                     "com.inversoft.verge.mvc.view.jsp.model.test.Bean",
245                     ScopeConstants.REQUEST_INT);
246
247             System.out.println("Radio tag: " + tagStr);
248             System.out.println("Compare string: " + compStr);
249             assertEquals("Should be radio", tagStr, compStr);
250         } catch (JspException JavaDoc e) {
251             fail(e.toString());
252         }
253     }
254
255     /**
256      * Tests the radio buttons have the same name if none was given
257      */

258     public void testSameName() {
259         Bean bean = new Bean();
260         request.setAttribute("bean", bean);
261         //pageContext.setAttribute("beanVar", bean);
262

263         FormTag parent = new FormTag();
264         RadioTag tag = new RadioTag();
265         tag.setParent(parent);
266         tag.setPageContext(pageContext);
267         tag.setId("test");
268         tag.setModel("bean.local");
269
270         RadioTag tag2 = new RadioTag();
271         tag2.setParent(parent);
272         tag2.setPageContext(pageContext);
273         tag2.setId("test");
274         tag2.setModel("bean.local");
275
276         RadioTag tag3 = new RadioTag();
277         tag3.setParent(parent);
278         tag3.setPageContext(pageContext);
279         tag3.setId("test");
280         tag3.setModel("bean.local");
281         try {
282             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
283             String JavaDoc tagStr = getPageContext().getMockOut().getText();
284             getPageContext().getMockOut().clear();
285             System.out.println("Tag 1: " + tagStr);
286
287             assertEquals("Should return EVAL_PAGE", runTag(tag2), Tag.EVAL_PAGE);
288             String JavaDoc tagStr2 = getPageContext().getMockOut().getText();
289             getPageContext().getMockOut().clear();
290             System.out.println("Tag 2: " + tagStr2);
291
292             assertEquals("Should return EVAL_PAGE", runTag(tag3), Tag.EVAL_PAGE);
293             String JavaDoc tagStr3 = getPageContext().getMockOut().getText();
294             getPageContext().getMockOut().clear();
295             System.out.println("Tag 3: " + tagStr3);
296
297             assertEquals("1 and 2 should be equal", tagStr, tagStr2);
298             assertEquals("2 and 3 should be equal", tagStr2, tagStr3);
299             assertEquals("1 and 3 should be equal", tagStr, tagStr3);
300         } catch (JspException JavaDoc e) {
301             fail(e.toString());
302         }
303     }
304
305     /**
306      * Tests the radio buttons do not have the same name if none was given and
307      * they are different model defs
308      */

309     public void testNewNames() {
310         Bean bean = new Bean();
311         request.setAttribute("bean", bean);
312         //pageContext.setAttribute("beanVar", bean);
313

314         FormTag parent = new FormTag();
315         RadioTag tag = new RadioTag();
316         tag.setParent(parent);
317         tag.setPageContext(pageContext);
318         tag.setId("test");
319         tag.setModel("bean.local");
320
321         RadioTag tag2 = new RadioTag();
322         tag2.setParent(parent);
323         tag2.setPageContext(pageContext);
324         tag2.setId("test");
325         tag2.setModel("bean.text");
326
327         RadioTag tag3 = new RadioTag();
328         tag3.setParent(parent);
329         tag3.setPageContext(pageContext);
330         tag3.setId("test");
331         tag3.setModel("bean.value");
332         try {
333             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
334             String JavaDoc tagStr = getPageContext().getMockOut().getText();
335             getPageContext().getMockOut().clear();
336             System.out.println("Tag 1: " + tagStr);
337
338             assertEquals("Should return EVAL_PAGE", runTag(tag2), Tag.EVAL_PAGE);
339             String JavaDoc tagStr2 = getPageContext().getMockOut().getText();
340             getPageContext().getMockOut().clear();
341             System.out.println("Tag 2: " + tagStr2);
342
343             assertEquals("Should return EVAL_PAGE", runTag(tag3), Tag.EVAL_PAGE);
344             String JavaDoc tagStr3 = getPageContext().getMockOut().getText();
345             getPageContext().getMockOut().clear();
346             System.out.println("Tag 3: " + tagStr3);
347
348             assertFalse("1 and 2 should not be equal", tagStr.equals(tagStr2));
349             assertFalse("2 and 3 should not be equal", tagStr2.equals(tagStr3));
350             assertFalse("1 and 3 should not be equal", tagStr.equals(tagStr3));
351         } catch (JspException JavaDoc e) {
352             fail(e.toString());
353         }
354     }
355
356     /**
357      * Tests the reuse of the Tag instance does not influence the checked state
358      */

359     public void testTagReuse() {
360         Bean bean = new Bean();
361         bean.setText("testValue");
362         request.setAttribute("bean", bean);
363         //pageContext.setAttribute("beanVar", bean);
364

365         FormTag parent = new FormTag();
366         RadioTag tag = new RadioTag();
367         tag.setParent(parent);
368         tag.setPageContext(pageContext);
369         tag.setId("test");
370         tag.setName("test");
371         tag.setValue("testValue");
372         tag.setModel("bean.text");
373
374         try {
375             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
376             String JavaDoc tagStr = getPageContext().getMockOut().getText();
377             String JavaDoc compStr = "<input type=\"radio\" id=\"test\" name=\"test\""+
378                 " value=\"testValue\" checked/>" +
379                 TestTools.createWebLink("bean.text",
380                     "com.inversoft.verge.mvc.view.jsp.model.test.Bean",
381                     ScopeConstants.REQUEST_INT);
382
383             System.out.println("Radio tag: " + tagStr);
384             System.out.println("Compare string: " + compStr);
385             assertEquals("Should be radio", tagStr, compStr);
386         } catch (JspException JavaDoc e) {
387             fail(e.toString());
388         }
389
390         // Reset the output stream
391
getPageContext().getMockOut().clear();
392         bean.setText(null);
393
394         try {
395             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
396             String JavaDoc tagStr = getPageContext().getMockOut().getText();
397             String JavaDoc compStr = "<input type=\"radio\" id=\"test\" name=\"test\""+
398                 " value=\"testValue\"/>" +
399                 TestTools.createWebLink("bean.text",
400                     "com.inversoft.verge.mvc.view.jsp.model.test.Bean",
401                     ScopeConstants.REQUEST_INT);
402
403             System.out.println("Radio tag: " + tagStr);
404             System.out.println("Compare string: " + compStr);
405             assertEquals("Should be radio", tagStr, compStr);
406         } catch (JspException JavaDoc e) {
407             fail(e.toString());
408         }
409     }
410
411
412     /**
413      * Tests the link does not get output
414      */

415     public void testNoSet() {
416         Bean bean = new Bean();
417         bean.setText("testValue");
418         request.setAttribute("bean", bean);
419
420         FormTag parent = new FormTag();
421         RadioTag tag = new RadioTag();
422         tag.setParent(parent);
423         tag.setPageContext(pageContext);
424         tag.setId("test");
425         tag.setName("test");
426         tag.setValue("testValue");
427         tag.setModel("bean.text");
428         tag.setGetValue(false);
429         tag.setSetValue(false);
430
431         try {
432             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
433             String JavaDoc tagStr = getPageContext().getMockOut().getText();
434             String JavaDoc compStr = "<input type=\"radio\" id=\"test\" name=\"test\""+
435                 " value=\"testValue\"/>";
436
437             System.out.println("Radio tag: " + tagStr);
438             System.out.println("Compare string: " + compStr);
439             assertEquals("Should be radio", tagStr, compStr);
440         } catch (JspException JavaDoc e) {
441             fail(e.toString());
442         }
443     }
444 }
Popular Tags