/**
*
*/
package org.archive.wayback.replay.html.transformer;
import java.net.URL;
import junit.framework.TestCase;
import org.archive.wayback.replay.html.transformer.JSStringTransformerTest.RecordingReplayParseContext;
/**
* unit test for {@link BlockCSSStringTransformer}.
*
* @author kenji
*
*/
public class InlineCSSStringTransformerTest extends TestCase {
URL baseURL;
RecordingReplayParseContext rc;
InlineCSSStringTransformer st;
/* (non-Javadoc)
* @see junit.framework.TestCase#setUp()
*/
protected void setUp() throws Exception {
baseURL = new URL("http://foo.com");
rc = new RecordingReplayParseContext(null, baseURL, null);
st = new InlineCSSStringTransformer();
}
public void testTransform() throws Exception {
final String[][] cases = new String[][] {
{
"color: #fff; background: transparent url(bg.gif)",
"bg.gif"
},
{
"background-image: url(https://secure.archive.org/grid.png);"+
" border: 1px solid black;",
"https://secure.archive.org/grid.png"
},
{
"list-style:square url(\"//archive.org/sqred.gif\");",
"//archive.org/sqred.gif"
}
};
for (String[] c : cases) {
rc = new RecordingReplayParseContext(null, baseURL, null);
st.transform(rc, c[0]);
assertEquals(c[0], 1, rc.got.size());
assertEquals(c[0], c[1], rc.got.get(0));
}
}
/**
* test of {@code rewriteHttpsOnly}.
* <p>Now it doesn't affect StringTransformer's behavior. This test will
* be dropped soon.</p>
* @throws Exception
*/
public void testRewriteHttpsOnly() throws Exception {
final String[][] cases = new String[][] {
{
"color: #fff; background: transparent url(bg.gif)",
"bg.gif"
},
{
"background-image: url(http://archive.org/grid.png);",
"http://archive.org/grid.png",
},
{
"background-image: url(https://secure.archive.org/grid.png);"+
" border: 1px solid black;",
"https://secure.archive.org/grid.png"
},
{
"list-style:square url(\"//archive.org/sqred.gif\");",
"//archive.org/sqred.gif"
}
};
for (String[] c : cases) {
rc = new RecordingReplayParseContext(null, baseURL, null);
rc.setRewriteHttpsOnly(true);
st.transform(rc, c[0]);
if (c[1] != null) {
assertEquals(c[0], 1, rc.got.size());
assertEquals(c[0], c[1], rc.got.get(0));
} else {
assertEquals(c[0], 0, rc.got.size());
}
}
}
}