private VisitStatus getVisitStatusCss(Node node, String rewriteRegex) throws Exception { // True, but never used (splitJS support) ContentRewriterFeature.Config config = config(rewriteRegex, true); return getVisitStatusCss(config, node); }
private VisitStatus getVisitStatusCss(Node node, String rewriteRegex, boolean singleResource) throws Exception { // True, but never used (splitJS support) ContentRewriterFeature.Config config = config(rewriteRegex, true, singleResource); return getVisitStatusCss(config, node); }
@Test public void visitContigCss() throws Exception { seqNodes(css1, css2, css3); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusCss(css1, null, false)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusCss(css2, null, false)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusCss(css3, null, false)); }
@Test public void dontVisitContigCssMiddleNotRewritable() throws Exception { ContentRewriterFeature.Config config = config(".*two.*", true, false); seqNodes(css1, css2, css3); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(config, css1)); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(config, css2)); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(config, css3)); }
@Test public void dontVisitContigCssMiddleNotRewritable() throws Exception { ContentRewriterFeature.Config config = config(".*two.*", true, false); seqNodes(css1, css2, css3); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(config, css1)); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(config, css2)); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(config, css3)); }
@Test public void dontVisitContigCssMiddleNotRewritable() throws Exception { ContentRewriterFeature.Config config = config(".*two.*", true); seqNodes(css1, css2, css3); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(config, css1)); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(config, css2)); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(config, css3)); }
@Test public void visitCssButNotMiddleWhenNotRewritable() throws Exception { ContentRewriterFeature.Config config = config(".*two.*", true, true); seqNodes(css1, css2, css3); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusCss(config, css1)); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(config, css2)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusCss(config, css3)); }
@Test public void visitCssSeperatedByTextNode() throws Exception { Node textNode = doc.createTextNode("Data\n"); Node node = elem("link", "type", "text/css", "rel", "stylesheet", "href", CSS1_URL_STR); seqNodes(node, textNode, css1); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusCss(node, null, false)); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusCss(node, null, true)); }
@Test public void dontVisitCssWithoutTypeAttribAsCss() throws Exception { Node node = elem("link", "rel", "stylesheet", "href", CSS1_URL_STR); seqNodes(node, css1); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(node, null, false)); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(node, null, true)); }
@Test public void dontVisitCssWithoutAttribs() throws Exception { Node node = elem("link", "href", CSS1_URL_STR); seqNodes(node, css1); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(node, null, false)); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(node, null, true)); }
@Test public void dontVisitCssWithoutRelAttrib() throws Exception { Node node = elem("link", "type", "text/css", "href", CSS1_URL_STR); seqNodes(node, css1); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(node, null, false)); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(node, null, true)); }
@Test public void dontVisitCssWithoutAttribs() throws Exception { Node node = elem("link", "href", CSS1_URL_STR); seqNodes(node, css1); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(node, null, false)); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(node, null, true)); }
@Test public void dontVisitCssSeperatedByConditionalComment() throws Exception { Node commentNode = doc.createComment("[if IE]"); Node node = elem("link", "type", "text/css", "rel", "stylesheet", "href", CSS1_URL_STR); seqNodes(node, commentNode, css1); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(node, null, false)); }
@Test public void visitCssSeperatedByConditionalCommentWhenSingleResourceConcatEnabled() throws Exception { Node commentNode = doc.createComment("[if IE]"); Node node = elem("link", "type", "text/css", "rel", "stylesheet", "href", CSS1_URL_STR); seqNodes(node, commentNode, css1); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusCss(node, null, true)); }
@Test public void dontVisitCssSeperatedByNonEmptyTextNode() throws Exception { Node textNode = doc.createTextNode("Data\n"); Node node = elem("link", "type", "text/css", "rel", "stylesheet", "href", CSS1_URL_STR); seqNodes(node, textNode, css1); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(node, null)); }
@Test public void visitCssSeperatedByConditionalCommentWhenSingleResourceConcatEnabled() throws Exception { Node commentNode = doc.createComment("[if IE]"); Node node = elem("link", "type", "text/css", "rel", "stylesheet", "href", CSS1_URL_STR); seqNodes(node, commentNode, css1); assertEquals(VisitStatus.RESERVE_NODE, getVisitStatusCss(node, null, true)); }
@Test public void dontVisitCssWithoutAttribs() throws Exception { Node node = elem("link", "href", CSS1_URL_STR); seqNodes(node, css1); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(node, null)); }
@Test public void dontVisitTypeCssWrongRelAttributes() throws Exception { Node node = elem("link", "rel", "alternate", "type", "text/css", "href", CSS1_URL_STR); seqNodes(node, css1); assertEquals(VisitStatus.BYPASS, getVisitStatusCss(node, null)); }
@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)); }