1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.struts2.portlet;
22
23 import java.util.ArrayList;
24 import java.util.Arrays;
25 import java.util.Collections;
26 import java.util.Enumeration;
27 import java.util.Iterator;
28 import java.util.List;
29 import java.util.Map;
30 import java.util.Set;
31
32 import javax.portlet.PortletRequest;
33
34 import org.jmock.Mock;
35 import org.jmock.MockObjectTestCase;
36 import org.jmock.core.Constraint;
37
38
39 /***
40 * PortletRequestMapTest. Insert description.
41 *
42 */
43 public class PortletRequestMapTest extends MockObjectTestCase {
44
45 public void testSetAttribute() {
46
47 }
48
49 public void testGet() {
50 Mock mockRequest = mock(PortletRequest.class, "testGet");
51 mockRequest.expects(once()).method("getAttribute").with(eq("testAttribute")).will(returnValue("testValue"));
52 PortletRequestMap map = new PortletRequestMap((PortletRequest)mockRequest.proxy());
53 String value = (String)map.get("testAttribute");
54 mockRequest.verify();
55 assertEquals("testValue", value);
56 }
57
58 public void testPut() {
59 Mock mockRequest = mock(PortletRequest.class, "testPut");
60 Object value = new String("testValue");
61 Constraint[] params = new Constraint[]{eq("testAttribute"), eq(value)};
62 mockRequest.expects(once()).method("setAttribute").with(params);
63 mockRequest.expects(once()).method("getAttribute").with(eq("testAttribute")).will(returnValue(value));
64 PortletRequestMap map = new PortletRequestMap((PortletRequest)mockRequest.proxy());
65 Object obj = map.put("testAttribute", value);
66 mockRequest.verify();
67 assertEquals(obj, value);
68 }
69
70 public void testClear() {
71 Mock mockRequest = mock(PortletRequest.class, "testClear");
72
73 mockRequest.expects(once()).method("removeAttribute").with(eq("a"));
74 mockRequest.expects(once()).method("removeAttribute").with(eq("b"));
75
76 ArrayList dummy = new ArrayList();
77 dummy.add("a");
78 dummy.add("b");
79
80 mockRequest.expects(once()).method("getAttributeNames").will(returnValue(Collections.enumeration(dummy)));
81
82 PortletRequestMap map = new PortletRequestMap((PortletRequest)mockRequest.proxy());
83 map.clear();
84 mockRequest.verify();
85 }
86
87 public void testRemove() {
88 Mock mockRequest = mock(PortletRequest.class);
89
90 PortletRequest req = (PortletRequest)mockRequest.proxy();
91
92
93 mockRequest.expects(once()).method("getAttribute").with(eq("dummyKey")).will(returnValue("dummyValue"));
94
95 mockRequest.expects(once()).method("removeAttribute").with(eq("dummyKey"));
96
97 PortletRequestMap map = new PortletRequestMap(req);
98 Object ret = map.remove("dummyKey");
99 assertEquals("dummyValue", ret);
100 }
101
102 public void testEntrySet() {
103 Mock mockRequest = mock(PortletRequest.class);
104
105 PortletRequest req = (PortletRequest)mockRequest.proxy();
106
107 Enumeration names = new Enumeration() {
108
109 List keys = Arrays.asList(new Object[]{"key1", "key2"});
110 Iterator it = keys.iterator();
111
112 public boolean hasMoreElements() {
113 return it.hasNext();
114 }
115
116 public Object nextElement() {
117 return it.next();
118 }
119
120 };
121
122 mockRequest.stubs().method("getAttributeNames").will(returnValue(names));
123 mockRequest.stubs().method("getAttribute").with(eq("key1")).will(returnValue("value1"));
124 mockRequest.stubs().method("getAttribute").with(eq("key2")).will(returnValue("value2"));
125
126 PortletRequestMap map = new PortletRequestMap(req);
127 Set entries = map.entrySet();
128
129 assertEquals(2, entries.size());
130 Iterator it = entries.iterator();
131 Map.Entry entry = (Map.Entry)it.next();
132 assertEquals("key2", entry.getKey());
133 assertEquals("value2", entry.getValue());
134 entry = (Map.Entry)it.next();
135 assertEquals("key1", entry.getKey());
136 assertEquals("value1", entry.getValue());
137
138 }
139
140 }