@Test public void testGetEncodingForImageContentType() throws Exception { HttpResponse response = new HttpResponseBuilder() .setResponse(LATIN1_DATA) .addHeader("Content-Type", "image/png; charset=iso-8859-1") .create(); assertEquals(HttpResponse.DEFAULT_ENCODING.name(), response.getEncoding().toUpperCase()); }
@Test public void testGetEncodingForFlashContentType() throws Exception { HttpResponse response = new HttpResponseBuilder() .setResponse(LATIN1_DATA) .addHeader("Content-Type", "application/x-shockwave-flash; charset=iso-8859-1") .create(); assertEquals(HttpResponse.DEFAULT_ENCODING.name(), response.getEncoding().toUpperCase()); }
@Test public void testEncodingDetectionLatin1NoContentHeader() throws Exception { HttpResponse response = new HttpResponseBuilder() .setResponse(LATIN1_DATA) .create(); assertEquals(HttpResponse.DEFAULT_ENCODING.name(), response.getEncoding()); }
@Test public void testEncodingDetectionLatin1NoContentHeader() throws Exception { HttpResponse response = new HttpResponseBuilder() .setResponse(LATIN1_DATA) .create(); assertEquals(HttpResponse.DEFAULT_ENCODING.name(), response.getEncoding()); }
@Test public void testEncodingDetectionLatin1NoContentHeader() throws Exception { HttpResponse response = new HttpResponseBuilder() .setResponse(LATIN1_DATA) .create(); assertEquals(HttpResponse.DEFAULT_ENCODING.name(), response.getEncoding()); }
@Test public void testEncodingDetectionWithEmptyContentType() throws Exception { HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "") .setResponseString("something") .create(); assertEquals(HttpResponse.DEFAULT_ENCODING.name(), response.getEncoding()); }
@Test public void testEncodingDetectionUtf8WithBomNoContentHeader() throws Exception { HttpResponse response = new HttpResponseBuilder() .setResponse(UTF8_DATA) .create(); assertEquals("UTF-8", response.getEncoding().toUpperCase()); assertEquals(UTF8_STRING, response.getResponseAsString()); }
@Test public void testEncodingDetectionUtf8WithBomNoContentHeader() throws Exception { HttpResponse response = new HttpResponseBuilder() .setResponse(UTF8_DATA) .create(); assertEquals("UTF-8", response.getEncoding().toUpperCase()); assertEquals(UTF8_STRING, response.getResponseAsString()); }
@Test public void testEncodingDetectionUtf8WithBomNoContentHeader() throws Exception { HttpResponse response = new HttpResponseBuilder() .setResponse(UTF8_DATA) .create(); assertEquals("UTF-8", response.getEncoding().toUpperCase()); assertEquals(UTF8_STRING, response.getResponseAsString()); }
@Test public void testEncodingDetectionLatin1NoCharsetSpecified() throws Exception { HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "text/plain;") .setResponse(LATIN1_DATA) .create(); assertEquals("ISO-8859-1", response.getEncoding().toUpperCase()); assertEquals(LATIN1_STRING, response.getResponseAsString()); }
@Test public void testEncodingDetectionLatin1NoCharsetSpecified() throws Exception { HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "text/plain;") .setResponse(LATIN1_DATA) .create(); assertEquals("ISO-8859-1", response.getEncoding().toUpperCase()); assertEquals(LATIN1_STRING, response.getResponseAsString()); }
@Test public void testEncodingDetectionUtf8WithBomCaseInsensitiveKey() throws Exception { HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "text/plain; Charset=utf-8") // Legitimate data, should be ignored in favor of explicit charset. .setResponse(LATIN1_DATA) .create(); assertEquals("UTF-8", response.getEncoding()); }
@Test public void testEncodingDetectionUtf8WithBomCaseInsensitiveKey() throws Exception { HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "text/plain; Charset=utf-8") // Legitimate data, should be ignored in favor of explicit charset. .setResponse(LATIN1_DATA) .create(); assertEquals("UTF-8", response.getEncoding()); }
@Test public void testEncodingDetectionUtf8WithBom() throws Exception { HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "text/plain; charset=UTF-8") .setResponse(UTF8_DATA) .create(); assertEquals(UTF8_STRING, response.getResponseAsString()); assertEquals("UTF-8", response.getEncoding()); }
@Test public void testEncodingDetectionUtf8WithBomAndIncorrectCharset() throws Exception { HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "text/plain; charset=UTTFF-88") .setResponse(UTF8_DATA) .create(); assertEquals(UTF8_STRING, response.getResponseAsString()); assertEquals("UTF-8", response.getEncoding()); }
@Test public void testEncodingDetectionUtf8WithBom() throws Exception { HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "text/plain; charset=UTF-8") .setResponse(UTF8_DATA) .create(); assertEquals(UTF8_STRING, response.getResponseAsString()); assertEquals("UTF-8", response.getEncoding()); }
@Test public void testEncodingDetectionUtf8WithBomAndIncorrectCharset() throws Exception { HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "text/plain; charset=UTTFF-88") .setResponse(UTF8_DATA) .create(); assertEquals(UTF8_STRING, response.getResponseAsString()); assertEquals("UTF-8", response.getEncoding()); }
@Test public void testEncodingDetectionLatin1withIncorrectCharset() throws Exception { // Input is a basic latin-1 string with 1 non-UTF8 compatible char. HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "text/plain; charset=iso-88859-1") .setResponse(LATIN1_DATA) .create(); assertEquals(LATIN1_STRING, response.getResponseAsString()); assertEquals("ISO-8859-1", response.getEncoding()); }
@Test public void testEncodingDetectionUtf8WithBomAndIncorrectCharset() throws Exception { HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "text/plain; charset=UTTFF-88") .setResponse(UTF8_DATA) .create(); assertEquals(UTF8_STRING, response.getResponseAsString()); assertEquals("UTF-8", response.getEncoding()); }
@Test public void testEncodingDetectionUtf8WithBom() throws Exception { HttpResponse response = new HttpResponseBuilder() .addHeader("Content-Type", "text/plain; charset=UTF-8") .setResponse(UTF8_DATA) .create(); assertEquals(UTF8_STRING, response.getResponseAsString()); assertEquals("UTF-8", response.getEncoding()); }