1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.commons.chain.web.servlet;
17
18
19 import junit.framework.Test;
20 import junit.framework.TestCase;
21 import junit.framework.TestSuite;
22 import org.apache.commons.chain.Context;
23
24 import javax.servlet.ServletContext;
25 import javax.servlet.http.HttpServletRequest;
26 import javax.servlet.http.HttpServletResponse;
27 import javax.servlet.http.HttpSession;
28 import java.util.Locale;
29
30
31
32
33 public class ServletSetLocaleCommandTestCase extends TestCase {
34
35
36
37
38 /***
39 * Construct a new instance of this test case.
40 *
41 * @param name Name of the test case
42 */
43 public ServletSetLocaleCommandTestCase(String name) {
44 super(name);
45 }
46
47
48
49
50
51 protected Locale locale = null;
52
53
54 protected ServletContext scontext = null;
55 protected HttpServletRequest request = null;
56 protected HttpServletResponse response = null;
57 protected HttpSession session = null;
58
59
60 protected Context context = null;
61 protected ServletGetLocaleCommand command = null;
62
63
64
65
66
67 /***
68 * Set up instance variables required by this test case.
69 */
70 public void setUp() {
71
72 locale = new Locale("en", "US");
73
74
75 scontext = new MockServletContext();
76 session = new MockHttpSession(scontext);
77 request = new MockHttpServletRequest("/context", "/servlet",
78 "/path/info", "a=b&c=d",
79 session);
80 response = new MockHttpServletResponse();
81
82
83 context = new ServletWebContext(scontext, request, response);
84 command = new ServletGetLocaleCommand();
85
86 }
87
88
89 /***
90 * Return the tests included in this test suite.
91 */
92 public static Test suite() {
93
94 return (new TestSuite(ServletGetLocaleCommandTestCase.class));
95
96 }
97
98
99 /***
100 * Tear down instance variables required by this test case.
101 */
102 public void tearDown() {
103
104 scontext = null;
105 session = null;
106 request = null;
107 response = null;
108
109 context = null;
110 command = null;
111
112 }
113
114
115
116
117
118
119 public void testConfigured() throws Exception {
120
121 command.setLocaleKey("special");
122 assertEquals("special", command.getLocaleKey());
123 check(context, command);
124
125 }
126
127
128
129 public void testDefaut() throws Exception {
130
131 assertEquals("locale", command.getLocaleKey());
132 check(context, command);
133
134 }
135
136
137
138
139
140 protected void check(Context context, ServletGetLocaleCommand command)
141 throws Exception {
142
143 String localeKey = command.getLocaleKey();
144 assertNotNull(localeKey);
145 Object value = context.get(localeKey);
146 assertNull(value);
147 context.put(localeKey, locale);
148 assertNotNull(context.get(localeKey));
149 assertNull(response.getLocale());
150 boolean result = command.execute(context);
151 assertFalse(result);
152 assertNotNull(response.getLocale());
153 assertEquals(locale, response.getLocale());
154
155 }
156
157
158 }