package com.cedricblondeau.webpage2html.transformers.assets; import com.cedricblondeau.webpage2html.Configuration; import com.cedricblondeau.webpage2html.transformers.http.HttpCacheUtils; import junit.framework.TestCase; import java.net.MalformedURLException; import java.net.URL; public class CssTransformerTest extends TestCase { URL cssUrl; @Override protected void setUp() throws Exception { super.setUp(); // CSS file URL try { cssUrl = new URL("http://www.cedricblondeau.com/css/test.css"); } catch (MalformedURLException e) { e.printStackTrace(); } } public void testWithData() { String css = "background: url(data:image/png,base64:ABC!);"; CssTransformer cssTransformer = new CssTransformer(css, cssUrl, new Configuration()); assertEquals("Data should not be transformed", css, cssTransformer.getContent()); } public void testWithPngImage() { String base64 = "WW91IGRpZG4ndCBzYXkgdGhlIG1hZ2ljIHdvcmQh"; String mediaType = "image/png"; HttpCacheUtils.cacheMockResourceFromBase64("http://www.cedricblondeau.com/img/test.png", mediaType, base64); String css = "background: url('/img/test.png');"; CssTransformer cssTransformer = new CssTransformer(css, cssUrl, new Configuration()); String expectedCss = String.format("background: url(\'data:%s;base64,%s\');", mediaType, base64); assertEquals("Image URL must be transformed to Base64", expectedCss, cssTransformer.getContent()); } }