[Httpunit-commit] CVS: httpunit/test/com/meterware/servletunit HttpServletRequestTest.java,1.8,1.9
Brought to you by:
russgold
|
From: Russell G. <rus...@us...> - 2002-10-25 00:55:00
|
Update of /cvsroot/httpunit/httpunit/test/com/meterware/servletunit
In directory usw-pr-cvs1:/tmp/cvs-serv7703/test/com/meterware/servletunit
Modified Files:
HttpServletRequestTest.java
Log Message:
Support locales in servlet unit
Index: HttpServletRequestTest.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/test/com/meterware/servletunit/HttpServletRequestTest.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- HttpServletRequestTest.java 28 Aug 2002 15:05:08 -0000 1.8
+++ HttpServletRequestTest.java 25 Oct 2002 00:19:25 -0000 1.9
@@ -22,6 +22,7 @@
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Map;
+import java.util.Locale;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
@@ -234,6 +235,38 @@
wr = new GetMethodWebRequest( "http://localhost/simple?foo=bar" );
request = new ServletUnitHttpRequest( NULL_SERVLET_REQUEST, wr, context, new Hashtable(), NO_MESSAGE_BODY );
assertEquals("/simple", request.getRequestURI());
+ }
+
+
+ public void testDefaultLocale() throws Exception {
+ WebRequest wr = new GetMethodWebRequest( "http://localhost/simple");
+
+ ServletUnitHttpRequest request = new ServletUnitHttpRequest( NULL_SERVLET_REQUEST, wr, new ServletUnitContext(), new Hashtable(), NO_MESSAGE_BODY );
+ Locale[] expectedLocales = new Locale[] { Locale.getDefault() };
+ verifyLocales( request, expectedLocales );
+
+ }
+
+ private void verifyLocales(ServletUnitHttpRequest request, Locale[] expectedLocales) {
+ assertNotNull( "No default locale found", request.getLocale() );
+ assertEquals( "default locale", expectedLocales[0], request.getLocale() );
+
+ final Enumeration locales = request.getLocales();
+ assertNotNull( "local enumeration not returned", locales );
+ for (int i = 0; i < expectedLocales.length; i++) {
+ assertTrue( "Expected " + expectedLocales.length + " locales, only found " + i, locales.hasMoreElements() );
+ assertEquals( "Locale #" + (i+1), expectedLocales[i], locales.nextElement() );
+ }
+ assertFalse( "Too many locales returned", locales.hasMoreElements() );
+ }
+
+
+ public void testSpecifiedLocales() throws Exception {
+ WebRequest wr = new GetMethodWebRequest( "http://localhost/simple");
+ wr.setHeaderField( "Accept-language", "fr, en;q=0.6, en-us;q=0.7" );
+
+ ServletUnitHttpRequest request = new ServletUnitHttpRequest( NULL_SERVLET_REQUEST, wr, new ServletUnitContext(), new Hashtable(), NO_MESSAGE_BODY );
+ verifyLocales( request, new Locale[] { Locale.FRENCH, Locale.US, Locale.ENGLISH } );
}
|