private VisitStatus getVisitStatusJs(Node node, String rewriteRegex, boolean splitJs) throws Exception { ContentRewriterFeature.Config config = config(rewriteRegex, splitJs); return getVisitStatusJs(config, node); }
private VisitStatus getVisitStatusJs( Node node, String rewriteRegex, boolean splitJs, boolean singleResouce) throws Exception { ContentRewriterFeature.Config config = config(rewriteRegex, splitJs, singleResouce); return getVisitStatusJs(config, node); }
@Test public void visitContigJs() throws Exception { seqNodes(js1, js2, js3); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js1, null, false)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js2, null, false)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js3, null, false)); }
@Test public void visitSplitJsContiguous() throws Exception { seqNodes(js1, js2, js3); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js1, null, true, false)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js2, null, true, false)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js3, null, true, false)); }
@Test public void visitSplitJsContiguous() throws Exception { seqNodes(js1, js2, js3); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js1, null, true)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js2, null, true)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js3, null, true)); }
@Test public void visitContigJs() throws Exception { seqNodes(js1, js2, js3); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js1, null, false, false)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js2, null, false, false)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js3, null, false, false)); }
@Test public void dontVisitSeparatedJsNotSplit() throws Exception { ContentRewriterFeature.Config config = config(null, false, false); Node sep1 = elem("div"); Node sep2 = elem("span"); seqNodes(js1, sep1, js2, sep2, js3); assertEquals(VisitStatus.BYPASS, getVisitStatusJs(config, js1)); assertEquals(VisitStatus.BYPASS, getVisitStatusJs(config, sep1)); assertEquals(VisitStatus.BYPASS, getVisitStatusJs(config, js2)); assertEquals(VisitStatus.BYPASS, getVisitStatusJs(config, sep2)); assertEquals(VisitStatus.BYPASS, getVisitStatusJs(config, js3)); }
@Test public void visitJsButNotMiddleWhenNotRewritable() throws Exception { ContentRewriterFeature.Config config = config(".*two.*", false, true); seqNodes(js1, js2, js3); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(config, js1)); assertEquals(VisitStatus.BYPASS, getVisitStatusJs(config, js2)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(config, js3)); }
@Test public void dontVisitSeparatedJsNotSplit() throws Exception { ContentRewriterFeature.Config config = config(null, false, false); Node sep1 = elem("div"); Node sep2 = elem("span"); seqNodes(js1, sep1, js2, sep2, js3); assertEquals(VisitStatus.BYPASS, getVisitStatusJs(config, js1)); assertEquals(VisitStatus.BYPASS, getVisitStatusJs(config, sep1)); assertEquals(VisitStatus.BYPASS, getVisitStatusJs(config, js2)); assertEquals(VisitStatus.BYPASS, getVisitStatusJs(config, sep2)); assertEquals(VisitStatus.BYPASS, getVisitStatusJs(config, js3)); }
@Test public void dontVisitContigJsMiddleNotRewritable() throws Exception { ContentRewriterFeature.Config config = config(".*two.*", false); seqNodes(js1, js2, js3); assertEquals(VisitStatus.BYPASS, getVisitStatusJs(config, js1)); assertEquals(VisitStatus.BYPASS, getVisitStatusJs(config, js2)); assertEquals(VisitStatus.BYPASS, getVisitStatusJs(config, js3)); }
@Test public void visitSplitJsSingle() throws Exception { assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js1, null, true, false)); }
@Test public void visitSplitJsSingle() throws Exception { assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js1, null, true, false)); }
@Test public void dontVisitSingleJs() throws Exception { assertEquals(VisitStatus.BYPASS, getVisitStatusJs(js1, null, false)); }
@Test public void visitSplitJsSeparated() throws Exception { seqNodes(js1, elem("span"), js2, elem("div"), js3); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js1, null, true, false)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js2, null, true, false)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js3, null, true, false)); }
@Test public void visitSplitJsSeparated() throws Exception { seqNodes(js1, elem("span"), js2, elem("div"), js3); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js1, null, true, false)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js2, null, true, false)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js3, null, true, false)); }
@Test public void visitSplitJsSeparated() throws Exception { seqNodes(js1, elem("span"), js2, elem("div"), js3); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js1, null, true)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js2, null, true)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusJs(js3, null, true)); }
@Test public void dontVisitJsWithoutSrc() throws Exception { assertEquals(VisitStatus.BYPASS, getVisitStatusJs(elem("script"), null, false, false)); assertEquals(VisitStatus.BYPASS, getVisitStatusJs(elem("script"), null, false, true)); }
@Test public void dontVisitJsWithoutSrc() throws Exception { assertEquals(VisitStatus.BYPASS, getVisitStatusJs(elem("script"), null, false, false)); assertEquals(VisitStatus.BYPASS, getVisitStatusJs(elem("script"), null, false, true)); }
@Test public void dontVisitUnknown() throws Exception { assertEquals(VisitStatus.BYPASS, getVisitStatusJs(elem("div"), null, true, false)); assertEquals(VisitStatus.BYPASS, getVisitStatusJs(elem("div"), null, true, true)); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(elem("div"), null, false)); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(elem("div"), null, true)); }
@Test public void dontVisitUnknown() throws Exception { assertEquals(VisitStatus.BYPASS, getVisitStatusJs(elem("div"), null, true)); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(elem("div"), null)); }