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