@Test public void testLargeJPEG() throws Exception { HttpResponse resp = createResponse("org/apache/shindig/gadgets/rewrite/image/large.jpg", "image/jpeg"); HttpResponse rewritten = rewrite(resp); assertEquals("image/jpeg", resp.getHeader("Content-Type")); assertTrue(rewritten.getContentLength() <= resp.getContentLength()); }
@Test public void testSmallJPEGToPNG() throws Exception { // Should be significantly smaller HttpResponse resp = createResponse("org/apache/shindig/gadgets/rewrite/image/small.jpg", "image/jpeg"); HttpResponse rewritten = rewrite(resp); assertEquals("image/png", rewritten.getHeader("Content-Type")); assertTrue(rewritten.getContentLength() * 100 / resp.getContentLength() < 70); }
@Test public void testSmallJPEGToPNG() throws Exception { // Should be significantly smaller HttpResponse resp = createResponse("org/apache/shindig/gadgets/rewrite/image/small.jpg", "image/jpeg"); HttpResponse rewritten = rewrite(resp); assertEquals("image/png", rewritten.getHeader("Content-Type")); assertTrue(rewritten.getContentLength() * 100 / resp.getContentLength() < 70); }
@Test public void testLargeJPEG() throws Exception { HttpResponse resp = createResponse("org/apache/shindig/gadgets/rewrite/image/large.jpg", "image/jpeg"); HttpResponse rewritten = rewrite(resp); assertEquals("image/jpeg", resp.getHeader("Content-Type")); assertTrue(rewritten.getContentLength() <= resp.getContentLength()); }
@Test public void testSmallJPEGToPNG() throws Exception { // Should be significantly smaller HttpResponse resp = createResponse("org/apache/shindig/gadgets/rewrite/image/small.jpg", "image/jpeg"); HttpResponse rewritten = rewrite(resp); assertEquals("image/png", rewritten.getHeader("Content-Type")); assertTrue(rewritten.getContentLength() * 100 / resp.getContentLength() < 70); }
@Test public void testLargeJPEG() throws Exception { HttpResponse resp = createResponse("org/apache/shindig/gadgets/rewrite/image/large.jpg", "image/jpeg"); HttpResponse rewritten = rewrite(resp); assertEquals("image/jpeg", resp.getHeader("Content-Type")); assertTrue(rewritten.getContentLength() <= resp.getContentLength()); }
@Test public void testSmallJPEGIsNotConvertedToPNGWithJpegConversionDisabled() throws Exception { HttpResponse resp = createResponse("org/apache/shindig/gadgets/rewrite/image/small.jpg", "image/jpeg"); HttpResponse rewritten = rewrite(resp, getDefaultConfigWithJpegConversionDisabled()); assertEquals("image/jpeg", rewritten.getHeader("Content-Type")); assertTrue(rewritten.getContentLength() <= resp.getContentLength()); }
@Test public void testSmallJPEGIsNotConvertedToPNGWithJpegConversionDisabled() throws Exception { HttpResponse resp = createResponse("org/apache/shindig/gadgets/rewrite/image/small.jpg", "image/jpeg"); HttpResponse rewritten = rewrite(resp, getDefaultConfigWithJpegConversionDisabled()); assertEquals("image/jpeg", rewritten.getHeader("Content-Type")); assertTrue(rewritten.getContentLength() <= resp.getContentLength()); }
@Test public void testRetainSubsmaplingEnabled() throws Exception { HttpResponse resp = createResponse("org/apache/shindig/gadgets/rewrite/image/testImage444.jpg", "image/jpeg"); HttpResponse rewritten = rewrite(resp, getConfigWithRetainSampling(true, 0.70f)); JpegImageUtils.JpegImageParams params = JpegImageUtils.getJpegImageData(rewritten.getResponse(), ""); assertTrue(rewritten.getContentLength() < resp.getContentLength()); assertEquals(JpegImageUtils.SamplingModes.YUV444, params.getSamplingMode()); }
@Test public void testRetainSubsmaplingEnabled() throws Exception { HttpResponse resp = createResponse("org/apache/shindig/gadgets/rewrite/image/testImage444.jpg", "image/jpeg"); HttpResponse rewritten = rewrite(resp, getConfigWithRetainSampling(true, 0.70f)); JpegImageUtils.JpegImageParams params = JpegImageUtils.getJpegImageData(rewritten.getResponse(), ""); assertTrue(rewritten.getContentLength() < resp.getContentLength()); assertEquals(JpegImageUtils.SamplingModes.YUV444, params.getSamplingMode()); }
@Test public void testRetainSubsmaplingDisabled() throws Exception { HttpResponse resp = createResponse("org/apache/shindig/gadgets/rewrite/image/testImage444.jpg", "image/jpeg"); HttpResponse rewritten = rewrite(resp, getConfigWithRetainSampling(false, 0.70f)); JpegImageUtils.JpegImageParams params = JpegImageUtils.getJpegImageData(rewritten.getResponse(), ""); assertTrue(rewritten.getContentLength() < resp.getContentLength()); assertEquals(JpegImageUtils.SamplingModes.YUV420, params.getSamplingMode()); }
@Test public void testRetainSubsmaplingDisabled() throws Exception { HttpResponse resp = createResponse("org/apache/shindig/gadgets/rewrite/image/testImage444.jpg", "image/jpeg"); HttpResponse rewritten = rewrite(resp, getConfigWithRetainSampling(false, 0.70f)); JpegImageUtils.JpegImageParams params = JpegImageUtils.getJpegImageData(rewritten.getResponse(), ""); assertTrue(rewritten.getContentLength() < resp.getContentLength()); assertEquals(JpegImageUtils.SamplingModes.YUV420, params.getSamplingMode()); }
@Test public void testLargeJPEGWithEtagAndCacheHeaders() throws Exception { HttpResponseBuilder responseBuilder = createResponseBuilder("org/apache/shindig/gadgets/rewrite/image/large.jpg", "image/jpeg"); responseBuilder.addHeader("ETag", "wereertret"); responseBuilder.addHeader("Cache-Control", "public, max-age=86400"); HttpResponse resp = responseBuilder.create(); HttpResponse rewritten = rewrite(resp, getConfigWithRetainSampling(false, 0.70f)); assertEquals("image/jpeg", resp.getHeader("Content-Type")); assertEquals("public, max-age=86400", resp.getHeader("Cache-Control")); assertNull(rewritten.getHeader("ETag")); assertTrue(rewritten.getContentLength() < resp.getContentLength()); }
@Test public void testLargeJPEGWithEtagAndCacheHeaders() throws Exception { HttpResponseBuilder responseBuilder = createResponseBuilder("org/apache/shindig/gadgets/rewrite/image/large.jpg", "image/jpeg"); responseBuilder.addHeader("ETag", "wereertret"); responseBuilder.addHeader("Cache-Control", "public, max-age=86400"); HttpResponse resp = responseBuilder.create(); HttpResponse rewritten = rewrite(resp, getConfigWithRetainSampling(false, 0.70f)); assertEquals("image/jpeg", resp.getHeader("Content-Type")); assertEquals("public, max-age=86400", resp.getHeader("Cache-Control")); assertNull(rewritten.getHeader("ETag")); assertTrue(rewritten.getContentLength() < resp.getContentLength()); }