1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.apache.struts2;
23
24 /***
25 * <code>RequestUtilsTest</code>
26 *
27 */
28 import javax.servlet.http.HttpServletRequest;
29
30 import junit.framework.TestCase;
31
32 import org.easymock.MockControl;
33
34 public class RequestUtilsTest extends TestCase {
35
36 private MockControl control;
37 private HttpServletRequest requestMock;
38
39 public void testGetServletPathWithServletPathSet() throws Exception {
40 control.expectAndReturn(requestMock.getServletPath(), "/mycontext/");
41 control.expectAndReturn(requestMock.getRequestURI(), "/mycontext/");
42 control.replay();
43 assertEquals("/mycontext/", RequestUtils.getServletPath(requestMock));
44 control.verify();
45 }
46
47 public void testGetServletPathWithRequestURIAndEmptyContextPath() throws Exception {
48 control.expectAndReturn(requestMock.getServletPath(), null);
49 control.expectAndReturn(requestMock.getRequestURI(), "/mycontext/test.jsp");
50 control.expectAndReturn(requestMock.getContextPath(), "");
51 control.expectAndReturn(requestMock.getPathInfo(), "test.jsp");
52 control.expectAndReturn(requestMock.getPathInfo(), "test.jsp");
53 control.replay();
54 assertEquals("/mycontext/", RequestUtils.getServletPath(requestMock));
55 control.verify();
56 }
57
58 public void testGetServletPathWithRequestURIAndContextPathSet() throws Exception {
59 control.expectAndReturn(requestMock.getServletPath(), null);
60 control.expectAndReturn(requestMock.getRequestURI(), "/servlet/mycontext/test.jsp");
61 control.expectAndReturn(requestMock.getContextPath(), "/servlet");
62 control.expectAndReturn(requestMock.getContextPath(), "/servlet");
63 control.expectAndReturn(requestMock.getPathInfo(), "test.jsp");
64 control.expectAndReturn(requestMock.getPathInfo(), "test.jsp");
65 control.replay();
66 assertEquals("/mycontext/", RequestUtils.getServletPath(requestMock));
67 control.verify();
68 }
69
70 public void testGetServletPathWithRequestURIAndContextPathSetButNoPatchInfo() throws Exception {
71 control.expectAndReturn(requestMock.getServletPath(), null);
72 control.expectAndReturn(requestMock.getRequestURI(), "/servlet/mycontext/");
73 control.expectAndReturn(requestMock.getContextPath(), "/servlet");
74 control.expectAndReturn(requestMock.getContextPath(), "/servlet");
75 control.expectAndReturn(requestMock.getPathInfo(), null);
76 control.replay();
77 assertEquals("/mycontext/", RequestUtils.getServletPath(requestMock));
78 control.verify();
79 }
80
81 public void testGetServletPathWithSemicolon() throws Exception {
82 control.expectAndReturn(requestMock.getRequestURI(), "/friend/mycontext/jim;bob");
83 control.expectAndReturn(requestMock.getServletPath(), "/mycontext/jim");
84 control.replay();
85 assertEquals("/mycontext/jim;bob", RequestUtils.getServletPath(requestMock));
86 control.verify();
87 }
88
89 protected void setUp() {
90 control = MockControl.createControl(HttpServletRequest.class);
91 requestMock = (HttpServletRequest) control.getMock();
92 }
93
94 }