001: /*
002: * Copyright (c) 2002-2003 by OpenSymphony
003: * All rights reserved.
004: */
005: package com.opensymphony.webwork.components;
006:
007: import java.util.Iterator;
008: import java.util.Stack;
009:
010: import javax.servlet.jsp.tagext.TagSupport;
011:
012: import com.opensymphony.webwork.TestConfigurationProvider;
013: import com.opensymphony.webwork.views.jsp.AbstractUITagTest;
014: import com.opensymphony.webwork.views.jsp.ui.ActionErrorTag;
015: import com.opensymphony.webwork.views.jsp.ui.ActionMessageTag;
016: import com.opensymphony.webwork.views.jsp.ui.AnchorTag;
017: import com.opensymphony.webwork.views.jsp.ui.CheckboxTag;
018: import com.opensymphony.webwork.views.jsp.ui.ComboBoxTag;
019: import com.opensymphony.webwork.views.jsp.ui.DivTag;
020: import com.opensymphony.webwork.views.jsp.ui.DoubleSelectTag;
021: import com.opensymphony.webwork.views.jsp.ui.FieldErrorTag;
022: import com.opensymphony.webwork.views.jsp.ui.FileTag;
023: import com.opensymphony.webwork.views.jsp.ui.FormTag;
024: import com.opensymphony.webwork.views.jsp.ui.HiddenTag;
025: import com.opensymphony.webwork.views.jsp.ui.LabelTag;
026: import com.opensymphony.webwork.views.jsp.ui.OptionTransferSelectTag;
027: import com.opensymphony.webwork.views.jsp.ui.PasswordTag;
028: import com.opensymphony.webwork.views.jsp.ui.RadioTag;
029: import com.opensymphony.webwork.views.jsp.ui.SelectTag;
030: import com.opensymphony.webwork.views.jsp.ui.SubmitTag;
031: import com.opensymphony.webwork.views.jsp.ui.TextFieldTag;
032: import com.opensymphony.webwork.views.jsp.ui.TextareaTag;
033: import com.opensymphony.webwork.views.jsp.ui.TokenTag;
034: import com.opensymphony.xwork.ActionContext;
035: import com.opensymphony.xwork.config.ConfigurationManager;
036:
037: /**
038: * Test case common for all UI component in general.
039: *
040: * @author tm_jee
041: * @version $Date: 2006-01-26 09:42:34 +0100 (Thu, 26 Jan 2006) $ $Id: UIComponentTest.java 2032 2006-01-26 08:42:34Z tmjee $
042: */
043: public class UIComponentTest extends AbstractUITagTest {
044:
045: // actionError
046: public void testActionErrorComponentDisposeItselfFromComponentStack()
047: throws Exception {
048: ActionMessageTag t = new ActionMessageTag();
049: t.setPageContext(pageContext);
050:
051: try {
052: t.doStartTag();
053: ActionErrorTag tag = new ActionErrorTag();
054: tag.setPageContext(pageContext);
055: tag.doStartTag();
056: assertEquals(tag.getComponent().getComponentStack().peek(),
057: tag.getComponent());
058: tag.doEndTag();
059: assertEquals(t.getComponent().getComponentStack().peek(), t
060: .getComponent());
061:
062: t.doEndTag();
063: } catch (Exception e) {
064: e.printStackTrace();
065: fail(e.toString());
066: }
067:
068: }
069:
070: // actionMessage
071: public void testActionMessageDisposeItselfFromComponentStack()
072: throws Exception {
073: ActionErrorTag t = new ActionErrorTag();
074: t.setPageContext(pageContext);
075:
076: try {
077: t.doStartTag();
078: ActionMessageTag tag = new ActionMessageTag();
079: tag.setPageContext(pageContext);
080: tag.doStartTag();
081: assertEquals(tag.getComponent().getComponentStack().peek(),
082: tag.getComponent());
083: tag.doEndTag();
084: assertEquals(t.getComponent().getComponentStack().peek(), t
085: .getComponent());
086:
087: t.doEndTag();
088: } catch (Exception e) {
089: e.printStackTrace();
090: fail(e.toString());
091: }
092: }
093:
094: // Anchor
095: public void testAnchorComponentDisposeItselfFromComponentStack()
096: throws Exception {
097:
098: TextFieldTag t = new TextFieldTag();
099: t.setPageContext(pageContext);
100: t.setName("textFieldName");
101:
102: AnchorTag tag = new AnchorTag();
103: tag.setPageContext(pageContext);
104:
105: try {
106: t.doStartTag();
107: tag.doStartTag();
108: assertEquals(tag.getComponent().getComponentStack().peek(),
109: tag.getComponent());
110: tag.doEndTag();
111: assertEquals(t.getComponent().getComponentStack().peek(), t
112: .getComponent());
113:
114: t.doEndTag();
115: } catch (Exception e) {
116: e.printStackTrace();
117: fail(e.toString());
118: }
119: }
120:
121: // checkbox
122: public void testCheckboxDisposeItselfFromComponentStack()
123: throws Exception {
124: ActionErrorTag t = new ActionErrorTag();
125: t.setPageContext(pageContext);
126:
127: try {
128: t.doStartTag();
129: CheckboxTag tag = new CheckboxTag();
130: tag.setName("name");
131: tag.setLabel("label");
132: tag.setPageContext(pageContext);
133: tag.doStartTag();
134: assertEquals(tag.getComponent().getComponentStack().peek(),
135: tag.getComponent());
136: tag.doEndTag();
137: assertEquals(t.getComponent().getComponentStack().peek(), t
138: .getComponent());
139:
140: t.doEndTag();
141: } catch (Exception e) {
142: e.printStackTrace();
143: fail(e.toString());
144: }
145: }
146:
147: // combobox
148: public void testComboboxDisposeItselfFromComponentStack()
149: throws Exception {
150: ActionErrorTag t = new ActionErrorTag();
151: t.setPageContext(pageContext);
152:
153: try {
154: t.doStartTag();
155: ComboBoxTag tag = new ComboBoxTag();
156: tag.setName("name");
157: tag.setLabel("label");
158: tag.setPageContext(pageContext);
159: tag.doStartTag();
160: assertEquals(tag.getComponent().getComponentStack().peek(),
161: tag.getComponent());
162: tag.doEndTag();
163: assertEquals(t.getComponent().getComponentStack().peek(), t
164: .getComponent());
165:
166: t.doEndTag();
167: } catch (Exception e) {
168: e.printStackTrace();
169: fail(e.toString());
170: }
171: }
172:
173: // div
174: public void testDivComponentDisposeItselfFromComponentStack()
175: throws Exception {
176: ActionErrorTag t = new ActionErrorTag();
177: t.setPageContext(pageContext);
178:
179: try {
180: t.doStartTag();
181: DivTag tag = new DivTag();
182: tag.setPageContext(pageContext);
183: tag.doStartTag();
184: assertEquals(tag.getComponent().getComponentStack().peek(),
185: tag.getComponent());
186: tag.doEndTag();
187: assertEquals(t.getComponent().getComponentStack().peek(), t
188: .getComponent());
189:
190: t.doEndTag();
191: } catch (Exception e) {
192: e.printStackTrace();
193: fail(e.toString());
194: }
195: }
196:
197: // doubleselect
198: public void testDoubleselectComponentDisposeItselfFromComponentStack()
199: throws Exception {
200: ActionErrorTag t = new ActionErrorTag();
201: t.setPageContext(pageContext);
202:
203: try {
204: t.doStartTag();
205: DoubleSelectTag tag = new DoubleSelectTag();
206: tag.setName("name");
207: tag.setLabel("label");
208: tag.setList("#{1:'one',2:'two'}");
209: tag.setDoubleName("doubleName");
210: tag.setDoubleList("1?({'aa','bb'}:{'cc','dd'}");
211: tag.setFormName("formName");
212: tag.setPageContext(pageContext);
213: tag.doStartTag();
214: assertEquals(tag.getComponent().getComponentStack().peek(),
215: tag.getComponent());
216: tag.doEndTag();
217: assertEquals(t.getComponent().getComponentStack().peek(), t
218: .getComponent());
219:
220: t.doEndTag();
221: } catch (Exception e) {
222: e.printStackTrace();
223: fail(e.toString());
224: }
225: }
226:
227: // fieldError
228: public void testFielderrorComponentDisposeItselfFromComponentStack()
229: throws Exception {
230: ActionErrorTag t = new ActionErrorTag();
231: t.setPageContext(pageContext);
232:
233: try {
234: t.doStartTag();
235: FieldErrorTag tag = new FieldErrorTag();
236: tag.setPageContext(pageContext);
237: tag.doStartTag();
238: assertEquals(tag.getComponent().getComponentStack().peek(),
239: tag.getComponent());
240: tag.doEndTag();
241: assertEquals(t.getComponent().getComponentStack().peek(), t
242: .getComponent());
243:
244: t.doEndTag();
245: } catch (Exception e) {
246: e.printStackTrace();
247: fail(e.toString());
248: }
249: }
250:
251: // file
252: public void testFileDisposeItselfFromComponentStack()
253: throws Exception {
254: ActionErrorTag t = new ActionErrorTag();
255: t.setPageContext(pageContext);
256:
257: try {
258: t.doStartTag();
259: FileTag tag = new FileTag();
260: tag.setName("name");
261: tag.setLabel("label");
262: tag.setPageContext(pageContext);
263: tag.doStartTag();
264: assertEquals(tag.getComponent().getComponentStack().peek(),
265: tag.getComponent());
266: tag.doEndTag();
267: assertEquals(t.getComponent().getComponentStack().peek(), t
268: .getComponent());
269:
270: t.doEndTag();
271: } catch (Exception e) {
272: e.printStackTrace();
273: fail(e.toString());
274: }
275: }
276:
277: // form
278: public void testFormComponentDisposeItselfFromComponentStack()
279: throws Exception {
280: ConfigurationManager.clearConfigurationProviders();
281: ConfigurationManager
282: .addConfigurationProvider(new TestConfigurationProvider());
283: ActionContext.getContext().setValueStack(stack);
284:
285: request.setupGetServletPath("/testAction");
286:
287: ActionErrorTag t = new ActionErrorTag();
288: t.setPageContext(pageContext);
289:
290: try {
291: t.doStartTag();
292: FormTag tag = new FormTag();
293: tag.setName("myForm");
294: tag.setMethod("POST");
295: tag.setAction("myAction");
296: tag.setEnctype("myEncType");
297: tag.setTitle("mytitle");
298: tag.setPageContext(pageContext);
299: tag.doStartTag();
300: assertEquals(tag.getComponent().getComponentStack().peek(),
301: tag.getComponent());
302: tag.doEndTag();
303: assertEquals(t.getComponent().getComponentStack().peek(), t
304: .getComponent());
305:
306: t.doEndTag();
307: } catch (Exception e) {
308: e.printStackTrace();
309: fail(e.toString());
310: }
311: }
312:
313: // hidden
314: public void testHiddenComponentDisposeItselfFromComponentStack()
315: throws Exception {
316: ActionErrorTag t = new ActionErrorTag();
317: t.setPageContext(pageContext);
318:
319: try {
320: t.doStartTag();
321: HiddenTag tag = new HiddenTag();
322: tag.setPageContext(pageContext);
323: tag.doStartTag();
324: assertEquals(tag.getComponent().getComponentStack().peek(),
325: tag.getComponent());
326: tag.doEndTag();
327: assertEquals(t.getComponent().getComponentStack().peek(), t
328: .getComponent());
329:
330: t.doEndTag();
331: } catch (Exception e) {
332: e.printStackTrace();
333: fail(e.toString());
334: }
335: }
336:
337: // label
338: public void testLabelComponentDisposeItselfFromComponentStack()
339: throws Exception {
340: ActionErrorTag t = new ActionErrorTag();
341: t.setPageContext(pageContext);
342:
343: try {
344: t.doStartTag();
345: LabelTag tag = new LabelTag();
346: tag.setName("name");
347: tag.setLabel("label");
348: tag.setPageContext(pageContext);
349: tag.doStartTag();
350: assertEquals(tag.getComponent().getComponentStack().peek(),
351: tag.getComponent());
352: tag.doEndTag();
353: assertEquals(t.getComponent().getComponentStack().peek(), t
354: .getComponent());
355:
356: t.doEndTag();
357: } catch (Exception e) {
358: e.printStackTrace();
359: fail(e.toString());
360: }
361: }
362:
363: // optiontransferselect
364: public void testOptiontransferselectComponentDisposeItselfFromComponentStack()
365: throws Exception {
366: ActionErrorTag t = new ActionErrorTag();
367: t.setPageContext(pageContext);
368:
369: try {
370: t.doStartTag();
371: OptionTransferSelectTag tag = new OptionTransferSelectTag();
372: tag.setId("myId");
373: tag.setDoubleId("myDoubleId");
374: tag.setName("name");
375: tag.setLabel("label");
376: tag.setList("{}");
377: tag.setDoubleList("{}");
378: tag.setPageContext(pageContext);
379: tag.doStartTag();
380: assertEquals(tag.getComponent().getComponentStack().peek(),
381: tag.getComponent());
382: tag.doEndTag();
383: assertEquals(t.getComponent().getComponentStack().peek(), t
384: .getComponent());
385:
386: t.doEndTag();
387: } catch (Exception e) {
388: e.printStackTrace();
389: fail(e.toString());
390: }
391: }
392:
393: // password
394: public void testPasswordComponentDisposeItselfFromComponentStack()
395: throws Exception {
396: ActionErrorTag t = new ActionErrorTag();
397: t.setPageContext(pageContext);
398:
399: try {
400: t.doStartTag();
401: PasswordTag tag = new PasswordTag();
402: tag.setName("name");
403: tag.setLabel("label");
404: tag.setPageContext(pageContext);
405: tag.doStartTag();
406: assertEquals(tag.getComponent().getComponentStack().peek(),
407: tag.getComponent());
408: tag.doEndTag();
409: assertEquals(t.getComponent().getComponentStack().peek(), t
410: .getComponent());
411:
412: t.doEndTag();
413: } catch (Exception e) {
414: e.printStackTrace();
415: fail(e.toString());
416: }
417: }
418:
419: // radio
420: public void testRadioComponentDisposeItselfFromComponentStack()
421: throws Exception {
422: ActionErrorTag t = new ActionErrorTag();
423: t.setPageContext(pageContext);
424:
425: try {
426: t.doStartTag();
427: RadioTag tag = new RadioTag();
428: tag.setList("{}");
429: tag.setName("name");
430: tag.setLabel("label");
431: tag.setPageContext(pageContext);
432: tag.doStartTag();
433: assertEquals(tag.getComponent().getComponentStack().peek(),
434: tag.getComponent());
435: tag.doEndTag();
436: assertEquals(t.getComponent().getComponentStack().peek(), t
437: .getComponent());
438:
439: t.doEndTag();
440: } catch (Exception e) {
441: e.printStackTrace();
442: fail(e.toString());
443: }
444: }
445:
446: // select
447: public void testSelectComponentDisposeItselfFromComponentStack()
448: throws Exception {
449: ActionErrorTag t = new ActionErrorTag();
450: t.setPageContext(pageContext);
451:
452: try {
453: t.doStartTag();
454: SelectTag tag = new SelectTag();
455: tag.setList("{}");
456: tag.setName("name");
457: tag.setLabel("label");
458: tag.setPageContext(pageContext);
459: tag.doStartTag();
460: assertEquals(tag.getComponent().getComponentStack().peek(),
461: tag.getComponent());
462: tag.doEndTag();
463:
464: assertEquals(t.getComponent().getComponentStack().peek(), t
465: .getComponent());
466:
467: t.doEndTag();
468: } catch (Exception e) {
469: e.printStackTrace();
470: fail(e.toString());
471: }
472: }
473:
474: // submit
475: public void testSubmitDisposeItselfFromComponentStack()
476: throws Exception {
477: ActionErrorTag t = new ActionErrorTag();
478: t.setPageContext(pageContext);
479:
480: try {
481: t.doStartTag();
482: SubmitTag tag = new SubmitTag();
483: tag.setName("name");
484: tag.setPageContext(pageContext);
485: tag.doStartTag();
486: assertEquals(tag.getComponent().getComponentStack().peek(),
487: tag.getComponent());
488: tag.doEndTag();
489: assertEquals(t.getComponent().getComponentStack().peek(), t
490: .getComponent());
491:
492: t.doEndTag();
493: } catch (Exception e) {
494: e.printStackTrace();
495: fail(e.toString());
496: }
497: }
498:
499: // textarea
500: public void testTextareaComponentDisposeItselfFromComponentStack()
501: throws Exception {
502: ActionErrorTag t = new ActionErrorTag();
503: t.setPageContext(pageContext);
504:
505: try {
506: t.doStartTag();
507: TextareaTag tag = new TextareaTag();
508: tag.setName("name");
509: tag.setLabel("label");
510: tag.setPageContext(pageContext);
511: tag.doStartTag();
512: assertEquals(tag.getComponent().getComponentStack().peek(),
513: tag.getComponent());
514: tag.doEndTag();
515: assertEquals(t.getComponent().getComponentStack().peek(), t
516: .getComponent());
517:
518: t.doEndTag();
519: } catch (Exception e) {
520: e.printStackTrace();
521: fail(e.toString());
522: }
523: }
524:
525: // textfield
526: public void testTextfieldComponentDisposeItselfFromComponentStack()
527: throws Exception {
528: ActionErrorTag t = new ActionErrorTag();
529: t.setPageContext(pageContext);
530:
531: try {
532: t.doStartTag();
533: TextFieldTag tag = new TextFieldTag();
534: tag.setName("name");
535: tag.setLabel("label");
536: tag.setPageContext(pageContext);
537: tag.doStartTag();
538: assertEquals(tag.getComponent().getComponentStack().peek(),
539: tag.getComponent());
540: tag.doEndTag();
541: assertEquals(t.getComponent().getComponentStack().peek(), t
542: .getComponent());
543:
544: t.doEndTag();
545: } catch (Exception e) {
546: e.printStackTrace();
547: fail(e.toString());
548: }
549: }
550:
551: // token
552: public void testTokenComponentDisposeItselfFromComponentStack()
553: throws Exception {
554: ActionErrorTag t = new ActionErrorTag();
555: t.setPageContext(pageContext);
556:
557: try {
558: t.doStartTag();
559: TokenTag tag = new TokenTag();
560: tag.setPageContext(pageContext);
561: tag.doStartTag();
562: assertEquals(tag.getComponent().getComponentStack().peek(),
563: tag.getComponent());
564: tag.doEndTag();
565: assertEquals(t.getComponent().getComponentStack().peek(), t
566: .getComponent());
567:
568: t.doEndTag();
569: } catch (Exception e) {
570: e.printStackTrace();
571: fail(e.toString());
572: }
573: }
574: }
|