01: /*
02: * Copyright (c) 2002-2003 by OpenSymphony
03: * All rights reserved.
04: */
05: package com.opensymphony.webwork.views.jsp.ui;
06:
07: import java.util.ArrayList;
08: import java.util.Collection;
09: import java.util.Collections;
10: import java.util.List;
11:
12: import com.opensymphony.webwork.views.jsp.AbstractUITagTest;
13: import com.opensymphony.xwork.Action;
14: import com.opensymphony.xwork.ActionSupport;
15:
16: /**
17: * ActionMessageTag test case.
18: *
19: * @author tm_jee
20: * @version $Date: 2005-12-22 17:24:25 +0100 (Thu, 22 Dec 2005) $ $Id: ActionMessageTagTest.java 1832 2005-12-22 16:24:25Z tmjee $
21: */
22: public class ActionMessageTagTest extends AbstractUITagTest {
23:
24: public void testNoActionMessages() throws Exception {
25:
26: ActionMessageTag tag = new ActionMessageTag();
27: ((InternalActionSupport) action).setHasActionMessage(false);
28: tag.setPageContext(pageContext);
29: tag.doStartTag();
30: tag.doEndTag();
31:
32: verify(ActionMessageTagTest.class
33: .getResource("actionmessage-1.txt"));
34: }
35:
36: public void testYesActionMessages() throws Exception {
37:
38: ActionMessageTag tag = new ActionMessageTag();
39: ((InternalActionSupport) action).setHasActionMessage(true);
40: tag.setPageContext(pageContext);
41: tag.doStartTag();
42: tag.doEndTag();
43:
44: verify(ActionMessageTagTest.class
45: .getResource("actionmessage-2.txt"));
46: }
47:
48: public Action getAction() {
49: return new InternalActionSupport();
50: }
51:
52: /**
53: * Internal ActionSupport class for testing, can be in state with
54: * or without action messages.
55: *
56: * @author tm_jee
57: * @version $Date: 2005-12-22 17:24:25 +0100 (Thu, 22 Dec 2005) $ $Id: ActionMessageTagTest.java 1832 2005-12-22 16:24:25Z tmjee $
58: */
59: public class InternalActionSupport extends ActionSupport {
60:
61: private boolean canHaveActionMessage;
62:
63: public void setHasActionMessage(boolean canHaveActionMessage) {
64: this .canHaveActionMessage = canHaveActionMessage;
65: }
66:
67: public Collection getActionMessages() {
68: if (canHaveActionMessage) {
69: List messages = new ArrayList();
70: messages.add("action message number 1");
71: messages.add("action message number 2");
72: messages.add("action message number 3");
73: return messages;
74: } else {
75: return Collections.EMPTY_LIST;
76: }
77: }
78:
79: public boolean hasActionMessages() {
80: return canHaveActionMessage;
81: }
82: }
83: }
|