ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, true), mgr); assertTrue(rewriter.revisit(gadget(), nodes));
ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, true, false), mgr); assertTrue(rewriter.revisit(gadget(), nodes));
ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, true, false), mgr); assertTrue(rewriter.revisit(gadget(), nodes));
ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, false), mgr); assertTrue(rewriter.revisit(gadget(), fullListJs));
ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, false), mgr); assertTrue(rewriter.revisit(gadget(), fullListJs));
ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, false, false), mgr); assertTrue(rewriter.revisit(gadget(), fullListJs));
ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, true), mgr); assertTrue(rewriter.revisit(gadget(), nodes));
ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, true, false), mgr); assertTrue(rewriter.revisit(gadget(), nodes));
ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, false, false), mgr); assertTrue(rewriter.revisit(gadget(), fullListJs));
ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, true, false), mgr); assertTrue(rewriter.revisit(gadget(), nodes));
ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, false, false), mgr); assertTrue(rewriter.revisit(gadget(), fullListJs));
ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, false, true), mgr); assertTrue(rewriter.revisit(gadget(), fullListJs));
ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, false, true), mgr); assertTrue(rewriter.revisit(gadget(), fullListJs));
ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, false, false), mgr); assertTrue(rewriter.revisit(gadget(), fullListJs));
@Test public void concatSingleBatchJs() throws Exception { List<Node> nodes = seqNodes(js1, js2, js3); Node parent = js1.getParentNode(); // Sanity check. assertEquals(3, parent.getChildNodes().getLength()); SimpleConcatUriManager mgr = simpleMgr(); ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, false, false), mgr); assertTrue(rewriter.revisit(gadget(), nodes)); // Should be left with a single JS node child to parent. assertEquals(1, parent.getChildNodes().getLength()); Element concatNode = (Element)parent.getChildNodes().item(0); Uri concatUri = Uri.parse(concatNode.getAttribute("src")); assertEquals(CONCAT_BASE_URI.getScheme(), concatUri.getScheme()); assertEquals(CONCAT_BASE_URI.getAuthority(), concatUri.getAuthority()); assertEquals(CONCAT_BASE_URI.getPath(), concatUri.getPath()); assertEquals(JS1_URL_STR, concatUri.getQueryParameter("1")); assertEquals(JS2_URL_STR, concatUri.getQueryParameter("2")); assertEquals(JS3_URL_STR, concatUri.getQueryParameter("3")); }
@Test public void concatSingleBatchJs() throws Exception { List<Node> nodes = seqNodes(js1, js2, js3); Node parent = js1.getParentNode(); // Sanity check. assertEquals(3, parent.getChildNodes().getLength()); SimpleConcatUriManager mgr = simpleMgr(); ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, false, false), mgr); assertTrue(rewriter.revisit(gadget(), nodes)); // Should be left with a single JS node child to parent. assertEquals(1, parent.getChildNodes().getLength()); Element concatNode = (Element)parent.getChildNodes().item(0); Uri concatUri = Uri.parse(concatNode.getAttribute("src")); assertEquals(CONCAT_BASE_URI.getScheme(), concatUri.getScheme()); assertEquals(CONCAT_BASE_URI.getAuthority(), concatUri.getAuthority()); assertEquals(CONCAT_BASE_URI.getPath(), concatUri.getPath()); assertEquals(JS1_URL_STR, concatUri.getQueryParameter("1")); assertEquals(JS2_URL_STR, concatUri.getQueryParameter("2")); assertEquals(JS3_URL_STR, concatUri.getQueryParameter("3")); }
@Test public void concatSingleBatchJs() throws Exception { List<Node> nodes = seqNodes(js1, js2, js3); Node parent = js1.getParentNode(); // Sanity check. assertEquals(3, parent.getChildNodes().getLength()); SimpleConcatUriManager mgr = simpleMgr(); ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, false), mgr); assertTrue(rewriter.revisit(gadget(), nodes)); // Should be left with a single JS node child to parent. assertEquals(1, parent.getChildNodes().getLength()); Element concatNode = (Element)parent.getChildNodes().item(0); Uri concatUri = Uri.parse(concatNode.getAttribute("src").replace("&", "&")); assertEquals(CONCAT_BASE_URI.getScheme(), concatUri.getScheme()); assertEquals(CONCAT_BASE_URI.getAuthority(), concatUri.getAuthority()); assertEquals(CONCAT_BASE_URI.getPath(), concatUri.getPath()); assertEquals(JS1_URL_STR, concatUri.getQueryParameter("1")); assertEquals(JS2_URL_STR, concatUri.getQueryParameter("2")); assertEquals(JS3_URL_STR, concatUri.getQueryParameter("3")); }
@Test public void concatSingleJs() throws Exception { List<Node> nodes = seqNodes(js1); Node parent = js1.getParentNode(); // Sanity check. assertEquals(1, parent.getChildNodes().getLength()); SimpleConcatUriManager mgr = simpleMgr(); ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, false, true), mgr); assertTrue(rewriter.revisit(gadget(), nodes)); // There should be one JS node child which is rewritten. assertEquals(1, parent.getChildNodes().getLength()); Element concatNode = (Element)parent.getChildNodes().item(0); Uri concatUri = Uri.parse(concatNode.getAttribute("src")); assertEquals(CONCAT_BASE_URI.getScheme(), concatUri.getScheme()); assertEquals(CONCAT_BASE_URI.getAuthority(), concatUri.getAuthority()); assertEquals(CONCAT_BASE_URI.getPath(), concatUri.getPath()); assertEquals(JS1_URL_STR, concatUri.getQueryParameter("1")); assertNull(concatUri.getQueryParameter("2")); }
@Test public void concatSingleJs() throws Exception { List<Node> nodes = seqNodes(js1); Node parent = js1.getParentNode(); // Sanity check. assertEquals(1, parent.getChildNodes().getLength()); SimpleConcatUriManager mgr = simpleMgr(); ConcatVisitor.Js rewriter = new ConcatVisitor.Js(config(null, false, true), mgr); assertTrue(rewriter.revisit(gadget(), nodes)); // There should be one JS node child which is rewritten. assertEquals(1, parent.getChildNodes().getLength()); Element concatNode = (Element)parent.getChildNodes().item(0); Uri concatUri = Uri.parse(concatNode.getAttribute("src")); assertEquals(CONCAT_BASE_URI.getScheme(), concatUri.getScheme()); assertEquals(CONCAT_BASE_URI.getAuthority(), concatUri.getAuthority()); assertEquals(CONCAT_BASE_URI.getPath(), concatUri.getPath()); assertEquals(JS1_URL_STR, concatUri.getQueryParameter("1")); assertNull(concatUri.getQueryParameter("2")); }
@Override protected List<Visitor> makeVisitors(Gadget context, Uri gadgetUri) { ContentRewriterFeature.Config config = featureConfigFactory.get(gadgetUri); // Note that concat is including with proxy in order to prevent // proxying the rewritten concat url // Basically Url rewritters should all be in one dom walker. return Arrays.<Visitor>asList( new ConcatVisitor.Js(config, concatUriManager), new ConcatVisitor.Css(config, concatUriManager), new ProxyingVisitor(config, proxyUriManager, ProxyingVisitor.Tags.SCRIPT, ProxyingVisitor.Tags.STYLESHEET, ProxyingVisitor.Tags.EMBEDDED_IMAGES)); } }