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.tiles.servlet.context;
23
24 import java.util.Vector;
25 import java.util.Map;
26 import javax.servlet.http.HttpServletRequest;
27 import javax.servlet.http.HttpSession;
28 import junit.framework.TestCase;
29 import org.easymock.EasyMock;
30
31 /***
32 * Tests {@link ServletSessionScopeMap} behaviour.
33 *
34 * @version $Rev: 573034 $ $Date: 2007-09-05 21:23:13 +0200 (mer, 05 set 2007) $
35 */
36 public class ServletSessionScopeMapTest extends TestCase {
37
38 /***
39 * Constructor.
40 *
41 * @param testName The name of the test.
42 */
43 public ServletSessionScopeMapTest(String testName) {
44 super(testName);
45 }
46
47 /***
48 * Tests if the session object is used correctly inside
49 * {@link ServletSessionScopeMap}.
50 */
51 public void testSessionUse() {
52 HttpServletRequest request = EasyMock.createMock(
53 HttpServletRequest.class);
54 HttpSession session = EasyMock.createMock(HttpSession.class);
55 EasyMock.expect(request.getSession(false)).andReturn(null);
56 EasyMock.expect(request.getSession()).andReturn(session).anyTimes();
57 EasyMock.expect(session.getAttribute("testAttribute")).andReturn(null);
58 session.setAttribute("testAttribute", "testValue");
59 EasyMock.expect(request.getSession(false)).andReturn(session).anyTimes();
60 Vector<String> v = new Vector<String>();
61 v.add("testAttribute");
62 EasyMock.expect(session.getAttributeNames()).andReturn(v.elements());
63 EasyMock.replay(request);
64 EasyMock.replay(session);
65
66 Map<String, Object> map = new ServletSessionScopeMap(request);
67 assertEquals("The map is not empty", 0, map.size());
68 map.put("testAttribute", "testValue");
69 assertEquals("The map has not one attribute", 1, map.size());
70 }
71 }