Character encoding tests

This commit is contained in:
Arjen Poutsma 2009-02-22 14:46:12 +00:00
parent e9d548e62f
commit cdd37d7e8b
1 changed files with 22 additions and 7 deletions

View File

@ -51,16 +51,31 @@ public class StringHttpMessageConverterTests {
}
@Test
public void write() throws IOException {
Charset charset = Charset.forName("UTF-8");
converter.setSupportedMediaTypes(Collections.singletonList(new MediaType("text", "plain", charset)));
public void writeDefaultCharset() throws IOException {
Charset iso88591 = Charset.forName("ISO-8859-1");
MockHttpOutputMessage outputMessage = new MockHttpOutputMessage();
String body = "Hello World";
String body = "H\u00e9llo W\u00f6rld";
converter.write(body, outputMessage);
assertEquals("Invalid result", body, outputMessage.getBodyAsString(charset));
assertEquals("Invalid content-type", new MediaType("text", "plain", charset),
assertEquals("Invalid result", body, outputMessage.getBodyAsString(iso88591));
assertEquals("Invalid content-type", new MediaType("text", "plain", iso88591),
outputMessage.getHeaders().getContentType());
assertEquals("Invalid content-length", 11, outputMessage.getHeaders().getContentLength());
assertEquals("Invalid content-length", body.getBytes(iso88591).length,
outputMessage.getHeaders().getContentLength());
assertFalse("Invalid accept-charset", outputMessage.getHeaders().getAcceptCharset().isEmpty());
}
@Test
public void writeUTF8() throws IOException {
Charset utf8 = Charset.forName("UTF-8");
converter.setSupportedMediaTypes(Collections.singletonList(new MediaType("text", "plain", utf8)));
MockHttpOutputMessage outputMessage = new MockHttpOutputMessage();
String body = "H\u00e9llo W\u00f6rld";
converter.write(body, outputMessage);
assertEquals("Invalid result", body, outputMessage.getBodyAsString(utf8));
assertEquals("Invalid content-type", new MediaType("text", "plain", utf8),
outputMessage.getHeaders().getContentType());
assertEquals("Invalid content-length", body.getBytes(utf8).length,
outputMessage.getHeaders().getContentLength());
assertFalse("Invalid accept-charset", outputMessage.getHeaders().getAcceptCharset().isEmpty());
}
}