public Map<String, String> attributes() { return node.attributes(); } }
@Override public Tag init(Node node, String offset, String dir, ViewRenderingService viewRenderingService) { return init(node.attributes(), new Body(node, "", dir, false, imports), offset); }
public Tag init(Node node, String offset, String dir, ViewRenderingService viewRenderingService) { return init(node.attributes(), new Body(node, getBodyOffset(offset), dir, imports, viewRenderingService), offset); }
@Test public void html_doctype2() throws IOException { String s = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n"; Node doc = new HtmlParser().parse(s); Assert.assertEquals(1, doc.children().size()); Assert.assertEquals("!DOCTYPE", doc.get(0).name()); Assert.assertEquals(4, doc.get(0).attributes().size()); Assert.assertEquals(true, doc.get(0).attributes().containsKey("HTML")); Assert.assertEquals(null, doc.get(0).attributes().get("HTML")); Assert.assertEquals(true, doc.get(0).attributes().containsKey("PUBLIC")); Assert.assertEquals(null, doc.get(0).attributes().get("PUBLIC")); Assert.assertEquals(true, doc.get(0).attributes().containsKey("\"-//W3C//DTD HTML 4.01//EN\"")); Assert.assertEquals(null, doc.get(0).attributes().get("\"-//W3C//DTD HTML 4.01//EN\"")); Assert.assertEquals(true, doc.get(0).attributes().containsKey("\"http://www.w3.org/TR/html4/strict.dtd\"")); Assert.assertEquals(null, doc.get(0).attributes().get("\"http://www.w3.org/TR/html4/strict.dtd\"")); }
if (collection != null) { Node fakeEach = new Node("g:each") .attr("in", n.attributes().remove("collection")) .add(n); String var = n.attributes().remove("var"); if (var == null) var = "it";
@Test public void html_doctype() throws IOException { String s = "<!DOCTYPE html>"; Node doc = new HtmlParser().parse(s); Assert.assertEquals(1, doc.children().size()); Assert.assertEquals("!DOCTYPE", doc.get(0).name()); Assert.assertEquals(1, doc.get(0).attributes().size()); Assert.assertEquals(true, doc.get(0).attributes().containsKey("html")); Assert.assertEquals(null, doc.get(0).attributes().get("html")); }
@Test public void gsp_comment_2() throws IOException { String s = "" + "<div %{--foo=\"${bar}\"--}%>\n" + " \n" + "</div>\n"; Node root = new GspParser().parse(s); Node div = root.children().get(0); Assert.assertEquals("div", div.name()); Assert.assertEquals(0, div.children().size()); Assert.assertEquals(0, div.attributes().size()); }
@Test public void xml_comment_1() throws IOException { String s = "<div><!-- <comment> --></div>"; Node div = new XmlParser().parse(s); Assert.assertEquals(0, div.attributes().size()); Assert.assertEquals(1, div.children().size()); Assert.assertEquals(true, div.children().get(0).isComment()); Assert.assertEquals("<!--<comment>-->", div.children().get(0).ownText()); }
@Test public void gsp_comment_1() throws IOException { String s = "" + "<div>\n" + " %{--<p>$test</p>--}%\n" + "</div>\n"; Node root = new GspParser().parse(s); Node div = root.children().get(0); Assert.assertEquals("div", div.name()); Assert.assertEquals(1, div.children().size()); Assert.assertEquals(0, div.attributes().size()); Assert.assertEquals("%{--<p>$test</p>--}%", div.children().get(0).textOwn()); }
@Test public void gsp_comment_3() throws IOException { String s = "" + "<div foo=\"bar%{--_$id--}%_0\">\n" + " \n" + "</div>\n"; Node root = new GspParser().parse(s); Node div = root.children().get(0); Assert.assertEquals("div", div.name()); Assert.assertEquals(0, div.children().size()); Assert.assertEquals(1, div.attributes().size()); Assert.assertEquals("bar_0", div.attr("foo")); }
@Test public void html_2() throws IOException { String s = "<div width=100px></div>"; Node root = new HtmlParser().parse(s); Node div = root.children().get(0); Assert.assertEquals(1, div.attributes().size()); Assert.assertEquals(0, div.children().size()); Assert.assertEquals("100px", div.attr("width")); s = "<div width=100px height=50px></div>"; root = new HtmlParser().parse(s); div = root.children().get(0); Assert.assertEquals(2, div.attributes().size()); Assert.assertEquals(0, div.children().size()); Assert.assertEquals("100px", div.attr("width")); Assert.assertEquals("50px", div.attr("height")); }
@Test public void xml_comment_2() throws IOException { String s = "" + "<div>\n" + " <!--[if IE]>\n" + " According to the conditional comment this is IE<br />\n" + " <![endif]-->\n" + "</div>\n"; Node div = new XmlParser().parse(s); Assert.assertEquals(0, div.attributes().size()); Assert.assertEquals(1, div.children().size()); Assert.assertEquals(true, div.children().get(0).isComment()); Assert.assertEquals("" + "<!--[if IE]>\n" + " According to the conditional comment this is IE<br />\n" + " <![endif]-->", div.children().get(0).ownText()); }
@Test public void gsp_2() throws IOException { String s = "<div><g:textField name=\"${it.key}\" placeholder=\"${String.valueOf(it.getValue()).replace(\"\\\"\", \"\")}\"/></div>"; Node root = new GspParser().parse(s); Node div = root.children().get(0); Assert.assertEquals("div", div.name()); Assert.assertEquals(1, div.children().size()); Node textField = div.children().get(0); Assert.assertEquals("g:textField", textField.name()); Assert.assertEquals(0, textField.children().size()); Assert.assertEquals(2, textField.attributes().size()); Assert.assertEquals("${it.key}", textField.attr("name")); Assert.assertEquals("${String.valueOf(it.getValue()).replace(\"\\\"\", \"\")}", textField.attr("placeholder")); }
@Test public void gsp_1() throws IOException { String s = "<div><g:textField name=\"${it.key}\" placeholder=\"${[].collect({it})}\"/></div>"; Node root = new GspParser().parse(s); Node div = root.children().get(0); Assert.assertEquals("div", div.name()); Assert.assertEquals(1, div.children().size()); Node textField = div.children().get(0); Assert.assertEquals("g:textField", textField.name()); Assert.assertEquals(0, textField.children().size()); Assert.assertEquals(2, textField.attributes().size()); Assert.assertEquals("${it.key}", textField.attr("name")); Assert.assertEquals("${[].collect({it})}", textField.attr("placeholder")); }
@Test public void gsp_3() throws IOException { String s = "<div id=\"${id}\"><span>foo:</span>${foo}</div>"; Node root = new GspParser().parse(s); Node div = root.children().get(0); Assert.assertEquals("div", div.name()); Assert.assertEquals(2, div.children().size()); Assert.assertEquals(1, div.attributes().size()); Assert.assertEquals("${id}", div.attr("id")); Node span = div.children().get(0); Assert.assertEquals("span", span.name()); Assert.assertEquals(1, span.children().size()); Assert.assertEquals("foo:", span.text()); Node foo = div.children().get(1); Assert.assertEquals("${foo}", foo.text()); }
for (Map.Entry<String, String> attr : n.attributes().entrySet()) { l.append(" ");
"</div>"; Node div = new XmlParser().parse(s); Assert.assertEquals(0, div.attributes().size()); Assert.assertEquals(3, div.children().size()); Assert.assertEquals(1, div.getLineNumber());