KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > inversoft > verge > mvc > view > jsp > html > test > OptionsArrayTagTest


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.html.test;
8
9
10 import java.util.ArrayList JavaDoc;
11 import java.util.Collection JavaDoc;
12 import java.util.HashMap JavaDoc;
13 import java.util.Map JavaDoc;
14
15 import javax.servlet.jsp.JspException JavaDoc;
16 import javax.servlet.jsp.tagext.Tag JavaDoc;
17
18 import com.inversoft.junit.AutoJspTestCallback;
19 import com.inversoft.junit.JspTestCallback;
20 import com.inversoft.junit.JspTestCase;
21 import com.inversoft.verge.mvc.view.jsp.html.FormTag;
22 import com.inversoft.verge.mvc.view.jsp.html.OptionsArrayTag;
23 import com.inversoft.verge.mvc.view.jsp.html.SelectTag;
24
25
26 /**
27  * <p>
28  * This class has the tests for the Options array tag
29  * </p>
30  *
31  * @author Brian Pontarelli
32  * @since 2.0
33  * @version 2.0
34  */

35 public class OptionsArrayTagTest extends JspTestCase {
36
37     /**
38      * Constructor for OptionsArrayTagTest.
39      * @param name
40      */

41     public OptionsArrayTagTest(String JavaDoc name) {
42         super(name);
43         setLocal(true);
44     }
45
46
47     public void testArray() {
48         FormTag parent = new FormTag();
49         SelectTag select = new SelectTag();
50         select.setParent(parent);
51
52         OptionsArrayTag tag = new OptionsArrayTag();
53         tag.setParent(select);
54         tag.setPageContext(pageContext);
55
56         String JavaDoc [] items = {"one", "two", "three"};
57         tag.setItems(items);
58
59         try {
60             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
61             String JavaDoc tagStr = getPageContext().getMockOut().getText();
62
63             System.out.println("Options tag: " + tagStr);
64             assertEquals("Should be list", tagStr,
65                 "<option value=\"one\">one</option>\n" +
66                 "<option value=\"two\">two</option>\n" +
67                 "<option value=\"three\">three</option>\n");
68         } catch (JspException JavaDoc e) {
69             fail(e.toString());
70         }
71     }
72
73     public void testArrayEL() {
74         FormTag parent = new FormTag();
75         SelectTag select = new SelectTag();
76         select.setParent(parent);
77
78         OptionsArrayTag tag = new OptionsArrayTag();
79         tag.setParent(select);
80         tag.setPageContext(pageContext);
81         tag.setItems("${items}");
82
83         String JavaDoc [] items = {"one", "two", "three"};
84         pageContext.setAttribute("items", items);
85
86         try {
87             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
88             String JavaDoc tagStr = getPageContext().getMockOut().getText();
89
90             System.out.println("Options tag: " + tagStr);
91             assertEquals("Should be list", tagStr,
92                 "<option value=\"one\">one</option>\n" +
93                 "<option value=\"two\">two</option>\n" +
94                 "<option value=\"three\">three</option>\n");
95         } catch (JspException JavaDoc e) {
96             fail(e.toString());
97         }
98     }
99
100     public void testArrayOneSelected() {
101         FormTag parent = new FormTag();
102         SelectTag select = new SelectTag();
103         select.setName("sel");
104         select.setValue("one");
105         select.setParent(parent);
106         select.setPageContext(pageContext);
107
108         OptionsArrayTag tag = new OptionsArrayTag();
109         tag.setParent(select);
110         tag.setPageContext(pageContext);
111
112         String JavaDoc [] items = {"one", "two", "three"};
113         tag.setItems(items);
114
115         JspTestCallback callback = new AutoJspTestCallback(new Tag JavaDoc[]{tag});
116         try {
117             assertEquals("Should return EVAL_PAGE", runTag(select, callback),
118                 Tag.EVAL_PAGE);
119             String JavaDoc tagStr = getPageContext().getMockOut().getText();
120             String JavaDoc expected = "<select name=\"sel\">" +
121                 "<option value=\"one\" selected>one</option>\n" +
122                 "<option value=\"two\">two</option>\n" +
123                 "<option value=\"three\">three</option>\n</select>";
124
125             System.out.println("Options tag: " + tagStr);
126             System.out.println("Excepted: " + tagStr);
127             assertEquals(expected, tagStr);
128         } catch (JspException JavaDoc e) {
129             fail(e.toString());
130         }
131     }
132
133     public void testArrayTwoSelected() {
134         FormTag parent = new FormTag();
135         SelectTag select = new SelectTag();
136         String JavaDoc [] selectValues = {"one", "two"};
137         select.setName("sel");
138         select.setValue(selectValues);
139         select.setParent(parent);
140         select.setPageContext(pageContext);
141
142         OptionsArrayTag tag = new OptionsArrayTag();
143         tag.setParent(select);
144         tag.setPageContext(pageContext);
145
146         String JavaDoc [] items = {"one", "two", "three"};
147         tag.setItems(items);
148
149         JspTestCallback callback = new AutoJspTestCallback(new Tag JavaDoc[]{tag});
150         try {
151             assertEquals("Should return EVAL_PAGE", runTag(select, callback),
152                 Tag.EVAL_PAGE);
153             String JavaDoc tagStr = getPageContext().getMockOut().getText();
154             String JavaDoc expected = "<select name=\"sel\">" +
155                 "<option value=\"one\" selected>one</option>\n" +
156                 "<option value=\"two\" selected>two</option>\n" +
157                 "<option value=\"three\">three</option>\n</select>";
158
159             System.out.println("Options tag: " + tagStr);
160             System.out.println("Excepted: " + tagStr);
161             assertEquals(expected, tagStr);
162         } catch (JspException JavaDoc e) {
163             fail(e.toString());
164         }
165     }
166
167     public void testArrayAllSelected() {
168         FormTag parent = new FormTag();
169         SelectTag select = new SelectTag();
170         String JavaDoc [] selectValues = {"one", "two", "three"};
171         select.setName("sel");
172         select.setValue(selectValues);
173         select.setParent(parent);
174         select.setPageContext(pageContext);
175
176         OptionsArrayTag tag = new OptionsArrayTag();
177         tag.setParent(select);
178         tag.setPageContext(pageContext);
179
180         String JavaDoc [] items = {"one", "two", "three"};
181         tag.setItems(items);
182
183         JspTestCallback callback = new AutoJspTestCallback(new Tag JavaDoc[]{tag});
184         try {
185             assertEquals("Should return EVAL_PAGE", runTag(select, callback),
186                 Tag.EVAL_PAGE);
187             String JavaDoc tagStr = getPageContext().getMockOut().getText();
188             String JavaDoc expected = "<select name=\"sel\">" +
189                 "<option value=\"one\" selected>one</option>\n" +
190                 "<option value=\"two\" selected>two</option>\n" +
191                 "<option value=\"three\" selected>three</option>\n</select>";
192
193             System.out.println("Options tag: " + tagStr);
194             System.out.println("Excepted: " + tagStr);
195             assertEquals(expected, tagStr);
196         } catch (JspException JavaDoc e) {
197             fail(e.toString());
198         }
199     }
200
201     public void testCollection() {
202         FormTag parent = new FormTag();
203         SelectTag select = new SelectTag();
204         select.setParent(parent);
205
206         OptionsArrayTag tag = new OptionsArrayTag();
207         tag.setParent(select);
208         tag.setPageContext(pageContext);
209
210         Collection JavaDoc items = new ArrayList JavaDoc();
211         items.add("one");
212         items.add("two");
213         items.add("three");
214         tag.setItems(items);
215
216         try {
217             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
218             String JavaDoc tagStr = getPageContext().getMockOut().getText();
219
220             System.out.println("Options tag: " + tagStr);
221             assertEquals("Should be list", tagStr,
222                 "<option value=\"one\">one</option>\n" +
223                 "<option value=\"two\">two</option>\n" +
224                 "<option value=\"three\">three</option>\n");
225         } catch (JspException JavaDoc e) {
226             fail(e.toString());
227         }
228     }
229
230     public void testCollectionEL() {
231         FormTag parent = new FormTag();
232         SelectTag select = new SelectTag();
233         select.setParent(parent);
234
235         OptionsArrayTag tag = new OptionsArrayTag();
236         tag.setParent(select);
237         tag.setPageContext(pageContext);
238         tag.setItems("${items}");
239
240         Collection JavaDoc items = new ArrayList JavaDoc();
241         items.add("one");
242         items.add("two");
243         items.add("three");
244         pageContext.setAttribute("items", items);
245
246         try {
247             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
248             String JavaDoc tagStr = getPageContext().getMockOut().getText();
249
250             System.out.println("Options tag: " + tagStr);
251             assertEquals("Should be list", tagStr,
252                 "<option value=\"one\">one</option>\n" +
253                 "<option value=\"two\">two</option>\n" +
254                 "<option value=\"three\">three</option>\n");
255         } catch (JspException JavaDoc e) {
256             fail(e.toString());
257         }
258     }
259
260     public void testMap() {
261         FormTag parent = new FormTag();
262         SelectTag select = new SelectTag();
263         select.setParent(parent);
264
265         OptionsArrayTag tag = new OptionsArrayTag();
266         tag.setParent(select);
267         tag.setPageContext(pageContext);
268
269         Map JavaDoc items = new HashMap JavaDoc();
270         items.put("one", "one");
271         items.put("two", "two");
272         items.put("three", "three");
273         tag.setItems(items);
274
275         try {
276             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
277             String JavaDoc tagStr = getPageContext().getMockOut().getText();
278
279             System.out.println("Options tag: " + tagStr);
280             assertEquals("Should be list", tagStr,
281                 "<option value=\"one\">one</option>\n" +
282                 "<option value=\"two\">two</option>\n" +
283                 "<option value=\"three\">three</option>\n");
284         } catch (JspException JavaDoc e) {
285             fail(e.toString());
286         }
287     }
288
289     public void testMapEL() {
290         FormTag parent = new FormTag();
291         SelectTag select = new SelectTag();
292         select.setParent(parent);
293
294         OptionsArrayTag tag = new OptionsArrayTag();
295         tag.setParent(select);
296         tag.setPageContext(pageContext);
297         tag.setItems("${items}");
298
299         Map JavaDoc items = new HashMap JavaDoc();
300         items.put("one", "one");
301         items.put("two", "two");
302         items.put("three", "three");
303         pageContext.setAttribute("items", items);
304
305         try {
306             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
307             String JavaDoc tagStr = getPageContext().getMockOut().getText();
308
309             System.out.println("Options tag: " + tagStr);
310             assertEquals("Should be list", tagStr,
311                 "<option value=\"one\">one</option>\n" +
312                 "<option value=\"two\">two</option>\n" +
313                 "<option value=\"three\">three</option>\n");
314         } catch (JspException JavaDoc e) {
315             fail(e.toString());
316         }
317     }
318
319     public void testProperties() {
320         FormTag parent = new FormTag();
321         SelectTag select = new SelectTag();
322         select.setParent(parent);
323
324         OptionsArrayTag tag = new OptionsArrayTag();
325         tag.setParent(select);
326         tag.setPageContext(pageContext);
327
328         Object JavaDoc [] items = {new Bean("one", "one"), new Bean("two", "two"),
329             new Bean("three", "three")};
330         tag.setItems(items);
331         tag.setTextProperty("text");
332         tag.setValueProperty("value");
333
334         try {
335             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
336             String JavaDoc tagStr = getPageContext().getMockOut().getText();
337
338             System.out.println("Options tag: " + tagStr);
339             assertEquals("Should be list", tagStr,
340                 "<option value=\"one\">one</option>\n" +
341                 "<option value=\"two\">two</option>\n" +
342                 "<option value=\"three\">three</option>\n");
343         } catch (JspException JavaDoc e) {
344             fail(e.toString());
345         }
346     }
347
348     /**
349      * Since it is legal to have no items and an empty select box, test null
350      */

351     public void testNull() {
352         FormTag parent = new FormTag();
353         SelectTag select = new SelectTag();
354         select.setParent(parent);
355
356         OptionsArrayTag tag = new OptionsArrayTag();
357         tag.setParent(select);
358         tag.setPageContext(pageContext);
359
360         Object JavaDoc [] items = null;
361         tag.setItems(items);
362         tag.setTextProperty("text");
363         tag.setValueProperty("value");
364
365         try {
366             assertEquals("Should return EVAL_PAGE", runTag(tag), Tag.EVAL_PAGE);
367             String JavaDoc tagStr = getPageContext().getMockOut().getText();
368
369             System.out.println("Options tag: " + tagStr);
370             assertTrue("Should be empty", tagStr == null || tagStr.trim().length() == 0);
371         } catch (JspException JavaDoc e) {
372             fail(e.toString());
373         }
374     }
375 }
Popular Tags