1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.struts.taglib;
22
23 import junit.framework.TestCase;
24
25 import org.apache.struts.Globals;
26 import org.apache.struts.config.ForwardConfig;
27 import org.apache.struts.config.ModuleConfig;
28 import org.apache.struts.config.impl.ModuleConfigImpl;
29 import org.apache.struts.mock.MockHttpServletRequest;
30 import org.apache.struts.mock.MockHttpServletResponse;
31 import org.apache.struts.mock.MockHttpSession;
32 import org.apache.struts.mock.MockPageContext;
33 import org.apache.struts.mock.MockServletConfig;
34 import org.apache.struts.mock.MockServletContext;
35 import org.apache.struts.util.MessageResources;
36 import org.apache.struts.util.MessageResourcesFactory;
37 import org.apache.struts.util.PropertyMessageResources;
38
39 public class TagTestBase extends TestCase {
40 protected TagUtils tagutils = TagUtils.getInstance();
41 protected MockServletConfig servletConfig;
42 protected MockServletContext servletContext;
43 protected MockHttpServletRequest request;
44 protected MockPageContext pageContext;
45 protected ModuleConfig moduleConfig;
46 protected ModuleConfig moduleConfig2;
47 protected ModuleConfig moduleConfig3;
48
49 public TagTestBase() {
50 super();
51 }
52
53 public TagTestBase(String theName) {
54 super(theName);
55 }
56
57 /**
58 * Helper method that creates/configures a basic configuration of Mock
59 * Objects.
60 *
61 *
62 * PageContext ServletConfig ServletContext HttpServletRequest HttpSession
63 * HttpServletResponse
64 *
65 * "/myapp", "/foo", null, null,
66 */
67 public void setUp() {
68
69 this.moduleConfig = new ModuleConfigImpl("");
70 this.moduleConfig.addForwardConfig(new ForwardConfig("foo", "/bar.jsp",
71 false));
72 this.moduleConfig.addForwardConfig(new ForwardConfig("relative1",
73 "relative.jsp", false));
74 this.moduleConfig.addForwardConfig(new ForwardConfig("relative2",
75 "relative.jsp", false));
76 this.moduleConfig.addForwardConfig(new ForwardConfig("external",
77 "http://struts.apache.org/", false));
78
79
80 this.moduleConfig2 = new ModuleConfigImpl("/2");
81 this.moduleConfig2.addForwardConfig(new ForwardConfig("foo",
82 "/baz.jsp", false));
83 this.moduleConfig2.addForwardConfig(new ForwardConfig("relative1",
84 "relative.jsp", false));
85 this.moduleConfig2.addForwardConfig(new ForwardConfig("relative2",
86 "relative.jsp", false));
87 this.moduleConfig2.addForwardConfig(new ForwardConfig("external",
88 "http://struts.apache.org/", false));
89
90
91 this.moduleConfig3 = new ModuleConfigImpl("/3");
92
93
94 this.servletContext = new MockServletContext();
95 this.servletContext.setAttribute(Globals.MODULE_KEY, moduleConfig);
96 this.servletContext.setAttribute(Globals.MODULE_KEY + "/2",
97 moduleConfig2);
98 this.servletContext.setAttribute(Globals.MODULE_KEY + "/3",
99 moduleConfig3);
100
101
102 this.servletConfig = new MockServletConfig();
103 this.servletConfig.setServletContext(servletContext);
104
105
106 this.request = new MockHttpServletRequest(new MockHttpSession());
107
108 pageContext =
109 new MockPageContext(servletConfig, request,
110 new MockHttpServletResponse());
111 }
112
113 public void tearDown() {
114 this.moduleConfig = null;
115 this.moduleConfig2 = null;
116 this.moduleConfig3 = null;
117 this.pageContext = null;
118 this.request = null;
119 }
120
121 protected void putBundleInScope(int scope, boolean returnNull) {
122 MessageResourcesFactory factory =
123 MessageResourcesFactory.createFactory();
124 MessageResources messageResources =
125 new PropertyMessageResources(factory,
126 "org.apache.struts.taglib.sample");
127
128 messageResources.setReturnNull(returnNull);
129 pageContext.setAttribute(Globals.MESSAGES_KEY, messageResources, scope);
130 }
131 }