@Test void testIterator1() { Jerry doc = Jerry.jerry().parse("<div id='one' class='foo'>one</div><div id='two' class='foo'>two</div>"); Iterator<Jerry> iterator = doc.find(".foo").iterator(); String result = ""; while (iterator.hasNext()) { Jerry j = iterator.next(); result += j.attr("id"); } assertEquals("onetwo", result); }
@Test void testIterator2() { Jerry doc = Jerry.jerry().parse("<div id='one' class='foo'>one</div><div id='two' class='foo'>two</div>"); Iterator<Jerry> iterator = doc.find(".notfound").iterator(); String result = ""; while (iterator.hasNext()) { Jerry j = iterator.next(); result += j.attr("id"); } assertEquals("", result); }
@Test void testAbstractFormController() throws IOException { File file = new File(testDataRoot, "AbstractFormController.html"); String content = FileUtil.readString(file); Jerry.JerryParser jerryParser = new Jerry.JerryParser(); //jerryParser.getDOMBuilder().setCalculatePosition(true); Jerry doc = jerryParser.parse(content); // parse doc.$("a").each(($this, index) -> { assertEquals("<a name=\"navbar_top\"><!-- --></a>", $this.get()[0].getHtml()); return false; }); }
@Test void testAppend1() { Jerry.JerryParser jerryParser = Jerry.jerry(); ((LagartoDOMBuilder) jerryParser.getDOMBuilder()).enableHtmlMode(); Jerry doc = jerryParser.parse("<xml><book><name>Foo</name></book></xml>"); Jerry book = doc.$("book"); book.append("<br>"); assertEquals("<xml><book><name>Foo</name><br></book></xml>", doc.html()); }
@Test void testAppendContent3() { Jerry.JerryParser jerryParser = Jerry.jerry(); ((LagartoDOMBuilder) jerryParser.getDOMBuilder()).enableXhtmlMode(); Jerry doc = jerryParser.parse("<xml><book isbn='123'><name>Foo</name></book></xml>"); Jerry book = doc.$("book"); book.append("<br>"); assertEquals("<xml><book isbn=\"123\"><name>Foo</name><br/></book></xml>", doc.html()); }
/** * Parses input sequence and creates new <code>Jerry</code>. */ public static Jerry jerry(final char[] content) { return jerry().parse(content); }
@Test void testAppendContent2() { Jerry.JerryParser jerryParser = Jerry.jerry(); ((LagartoDOMBuilder) jerryParser.getDOMBuilder()).enableXmlMode(); Jerry doc = jerryParser.parse("<xml><book isbn='123'><name>Foo</name></book></xml>"); Jerry book = doc.$("book"); book.append("<br>"); assertEquals("<xml><book isbn=\"123\"><name>Foo</name><br></br></book></xml>", doc.html()); }
@Test void testContains() { Jerry doc = Jerry.jerry().parse("<body>aaa<p>foo 401(k) bar</p>xxx</body>"); Jerry p = doc.$("p:contains('401(k)')"); assertEquals(1, p.size()); p = doc.$("p:contains('402(k)')"); assertEquals(0, p.size()); }
@Test void testFirstNotDirectly() { Jerry doc = Jerry.jerry().parse("<html><div>one</div><p>two</p><div>three</div><p>four</p></html>"); assertEquals(2, doc.$("div").size()); assertEquals(2, doc.$("p").size()); assertEquals("one", doc.$("div").first().text()); assertEquals("two", doc.$("p").first().text()); assertEquals("four", doc.$("p").last().text()); assertEquals("three", doc.$("div").last().text()); }
@Test void testNullForEmpty() { Jerry doc = Jerry.jerry().parse("<html></html>"); assertNull(doc.$("#not-a-valid-id").attr("someAttribute")); assertNull(doc.$("#not-a-valid-id").css("name")); assertNull(doc.$("#not-a-valid-id").html()); }
@Test void testAppendContent() { Jerry.JerryParser jerryParser = Jerry.jerry(); ((LagartoDOMBuilder) jerryParser.getDOMBuilder()).enableHtmlMode(); Jerry doc = jerryParser.parse("<xml><book isbn='123'><name>Foo</name></book></xml>"); Jerry book = doc.$("book"); book.append("<br>"); assertEquals("<xml><book isbn=\"123\"><name>Foo</name><br></book></xml>", doc.html()); }
@Test void testJerryParserCreation() { Jerry.JerryParser jerryParser = Jerry.jerry(); ((LagartoDOMBuilder) jerryParser.getDOMBuilder()).enableXmlMode(); Jerry doc = jerryParser.parse("<xml> <book isbn='123'> <name>Foo<br></name> </book></xml>"); Jerry name = doc.$("book name"); assertEquals("Foo", name.text()); assertEquals("<xml><book isbn=\"123\"><name>Foo<br></br></name></book></xml>", doc.html()); }
/** * Parses input content and creates new <code>Jerry</code>. */ public static Jerry jerry(final String content) { return jerry().parse(content); }
@Test void testPreserveCC() throws IOException { File file = new File(testDataRoot, "preserve-cc.html"); String expectedResult = FileUtil.readString(file); Jerry.JerryParser jerryParser = new Jerry.JerryParser(); ((LagartoDOMBuilder) jerryParser.getDOMBuilder()).enableHtmlMode(); ((LagartoDOMBuilder) jerryParser.getDOMBuilder()).getConfig().setEnableConditionalComments(false); Jerry jerry = jerryParser.parse(expectedResult); String result = jerry.html(); assertEquals(expectedResult, result); }
@Test void testCustomPseudoFunction() { PseudoFunctionSelector.registerPseudoFunction(MyPseudoFunction.class); Jerry doc = Jerry.jerry().parse("<body><p>not found</p><div>This!</div></body>"); Jerry p = doc.$(":super-fn(3)"); assertEquals(1, p.size()); assertEquals("This!", p.text()); }
@Test void testCustomPseudoClass() { PseudoClassSelector.registerPseudoClass(MyPseudoClass.class); Jerry doc = Jerry.jerry().parse("<body><p jodd-attr='1'>found</p><p>not found</p></body>"); Jerry p = doc.$("p:jjjjj"); assertEquals(1, p.size()); assertEquals("found", p.text()); }
@Test void testAppend3() { Jerry.JerryParser jerryParser = Jerry.jerry(); ((LagartoDOMBuilder) jerryParser.getDOMBuilder()).enableXhtmlMode(); Jerry doc = jerryParser.parse("<xml><book><name>Foo</name></book></xml>"); Jerry book = doc.$("book"); book.append("<br>"); assertEquals("<xml><book><name>Foo</name><br/></book></xml>", doc.html()); }
@Test void testEntity() throws Exception { assertEquals( "<head><title>Peanut Butter & Jelly</title>" + "it's yummy & delicious</head>", Jerry.jerry().parse( "<head><title>Peanut Butter & Jelly</title>" + "it's yummy & delicious").html()); }
@Test void testHtmlNodesOwner() { Jerry doc = Jerry.jerry().parse("<div>1<div id='x'>2</div>3</div>"); doc.$("#x").html("<span>wow</span>"); assertEquals("<div>1<div id=\"x\"><span>wow</span></div>3</div>", doc.html()); Element divx = doc.get(0).getChildElement(0).getChildElement(0); assertSame(doc.get(0), divx.getOwnerDocument()); assertEquals("span", divx.getChildElement(0).getNodeName()); assertSame(doc.get(0), divx.getChildElement(0).getOwnerDocument()); assertSame(doc.get(0), divx.getChildElement(0).getChild(0).getOwnerDocument()); }
@Test void testAppend2() { Jerry.JerryParser jerryParser = Jerry.jerry(); ((LagartoDOMBuilder) jerryParser.getDOMBuilder()).enableXmlMode(); Jerry doc = jerryParser.parse("<xml><book><name>Foo</name></book></xml>"); Jerry book = doc.$("book"); book.append("<br>"); assertEquals("<xml><book><name>Foo</name><br></br></book></xml>", doc.html()); }