1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.seasar.cubby.controller.impl;
18
19 import static org.easymock.EasyMock.createMock;
20 import static org.easymock.EasyMock.expect;
21 import static org.easymock.EasyMock.replay;
22 import static org.easymock.EasyMock.verify;
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertTrue;
25
26 import java.util.HashMap;
27 import java.util.Map;
28
29 import javax.servlet.http.HttpServletRequest;
30
31 import org.junit.Test;
32 import org.seasar.cubby.controller.impl.DefaultRequestParser;
33
34 public class DefaultRequestParserImplTest {
35
36 public DefaultRequestParser requestParser = new DefaultRequestParser();
37
38 @Test
39 public void getEmptyParameterMap() {
40 HttpServletRequest request = createMock(HttpServletRequest.class);
41 Map<String, String[]> requestParameterMap = new HashMap<String, String[]>();
42 expect(request.getParameterMap()).andReturn(requestParameterMap);
43 replay(request);
44
45 Map<String, Object[]> parameterMap = requestParser
46 .getParameterMap(request);
47 assertEquals("parameterMap.size()", 0, parameterMap.size());
48 verify(request);
49 }
50
51 @Test
52 public void getParameterMap() throws Throwable {
53 HttpServletRequest request = createMock(HttpServletRequest.class);
54 Map<String, String[]> requestParameterMap = new HashMap<String, String[]>();
55 requestParameterMap.put("a", new String[] { "12345" });
56 requestParameterMap.put("b", new String[] { "abc", "def" });
57 expect(request.getParameterMap()).andReturn(requestParameterMap);
58 replay(request);
59
60 Map<String, Object[]> parameterMap = requestParser
61 .getParameterMap(request);
62 assertEquals("parameterMap.size()", 2, parameterMap.size());
63 Object[] a = parameterMap.get("a");
64 assertEquals("a.length", 1, a.length);
65 assertEquals("a[0]", "12345", a[0]);
66 Object[] b = parameterMap.get("b");
67 assertEquals("b.length", 2, b.length);
68 assertEquals("b[0]", "abc", b[0]);
69 assertEquals("b[1]", "def", b[1]);
70 verify(request);
71 }
72
73 @Test
74 public void isParsable1() {
75 HttpServletRequest request = createMock(HttpServletRequest.class);
76 expect(request.getContentType()).andReturn(
77 "application/x-www-form-urlencoded").anyTimes();
78 replay(request);
79 assertTrue(requestParser.isParsable(request));
80 verify(request);
81 }
82
83 @Test
84 public void isParsable2() {
85 HttpServletRequest request = createMock(HttpServletRequest.class);
86 expect(request.getContentType()).andReturn("multipart/form-data")
87 .anyTimes();
88 replay(request);
89 assertTrue(requestParser.isParsable(request));
90 verify(request);
91 }
92
93 @Test
94 public void isParsable3() {
95 HttpServletRequest request = createMock(HttpServletRequest.class);
96 expect(request.getContentType()).andReturn("application/atom+xml")
97 .anyTimes();
98 replay(request);
99 assertTrue(requestParser.isParsable(request));
100 verify(request);
101 }
102
103 }