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