SPR-6177 - HttpHeadersTests fails with non-english locale

This commit is contained in:
Arjen Poutsma 2009-10-14 09:53:25 +00:00
parent 74f4749372
commit 8738fd7b7b
2 changed files with 25 additions and 9 deletions

View File

@ -447,7 +447,7 @@ public class HttpHeaders implements MultiValueMap<String, String> {
} }
private void setDate(String headerName, long date) { private void setDate(String headerName, long date) {
SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMATS[0]); SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMATS[0], Locale.US);
dateFormat.setTimeZone(GMT); dateFormat.setTimeZone(GMT);
set(headerName, dateFormat.format(new Date(date))); set(headerName, dateFormat.format(new Date(date)));
} }

View File

@ -24,15 +24,14 @@ import java.util.Calendar;
import java.util.EnumSet; import java.util.EnumSet;
import java.util.GregorianCalendar; import java.util.GregorianCalendar;
import java.util.List; import java.util.List;
import java.util.Locale;
import java.util.TimeZone; import java.util.TimeZone;
import static org.junit.Assert.*; import static org.junit.Assert.*;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
/** /** @author Arjen Poutsma */
* @author Arjen Poutsma
*/
public class HttpHeadersTests { public class HttpHeadersTests {
private HttpHeaders headers; private HttpHeaders headers;
@ -126,7 +125,6 @@ public class HttpHeadersTests {
assertEquals("Invalid If-None-Match header", "\"v2.6\", \"v2.7\"", headers.getFirst("If-None-Match")); assertEquals("Invalid If-None-Match header", "\"v2.6\", \"v2.7\"", headers.getFirst("If-None-Match"));
} }
@Test @Test
public void date() { public void date() {
Calendar calendar = new GregorianCalendar(2008, 11, 18, 11, 20); Calendar calendar = new GregorianCalendar(2008, 11, 18, 11, 20);
@ -147,6 +145,23 @@ public class HttpHeadersTests {
headers.getDate(); headers.getDate();
} }
@Test
public void dateOtherLocale() {
Locale defaultLocale = Locale.getDefault();
try {
Locale.setDefault(new Locale("nl", "nl"));
Calendar calendar = new GregorianCalendar(2008, 11, 18, 11, 20);
calendar.setTimeZone(TimeZone.getTimeZone("CET"));
long date = calendar.getTimeInMillis();
headers.setDate(date);
assertEquals("Invalid Date header", "Thu, 18 Dec 2008 10:20:00 GMT", headers.getFirst("date"));
assertEquals("Invalid Date header", date, headers.getDate());
}
finally {
Locale.setDefault(defaultLocale);
}
}
@Test @Test
public void lastModified() { public void lastModified() {
Calendar calendar = new GregorianCalendar(2008, 11, 18, 11, 20); Calendar calendar = new GregorianCalendar(2008, 11, 18, 11, 20);
@ -154,7 +169,8 @@ public class HttpHeadersTests {
long date = calendar.getTimeInMillis(); long date = calendar.getTimeInMillis();
headers.setLastModified(date); headers.setLastModified(date);
assertEquals("Invalid Last-Modified header", date, headers.getLastModified()); assertEquals("Invalid Last-Modified header", date, headers.getLastModified());
assertEquals("Invalid Last-Modified header", "Thu, 18 Dec 2008 10:20:00 GMT", headers.getFirst("last-modified")); assertEquals("Invalid Last-Modified header", "Thu, 18 Dec 2008 10:20:00 GMT",
headers.getFirst("last-modified"));
} }
@Test @Test
@ -174,7 +190,8 @@ public class HttpHeadersTests {
long date = calendar.getTimeInMillis(); long date = calendar.getTimeInMillis();
headers.setIfModifiedSince(date); headers.setIfModifiedSince(date);
assertEquals("Invalid If-Modified-Since header", date, headers.getIfNotModifiedSince()); assertEquals("Invalid If-Modified-Since header", date, headers.getIfNotModifiedSince());
assertEquals("Invalid If-Modified-Since header", "Thu, 18 Dec 2008 10:20:00 GMT", headers.getFirst("if-modified-since")); assertEquals("Invalid If-Modified-Since header", "Thu, 18 Dec 2008 10:20:00 GMT",
headers.getFirst("if-modified-since"));
} }
@Test @Test
@ -194,5 +211,4 @@ public class HttpHeadersTests {
} }
} }