@Test void testNamespaces() throws IOException { File file = new File(testDataRoot, "namespace.xml"); LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.enableXmlMode(); lagartoDOMBuilder.getConfig().setCalculatePosition(true); Document doc = lagartoDOMBuilder.parse(FileUtil.readString(file)); assertTrue(doc.check()); Element cfgTestElement = (Element) doc.getChild(1); assertEquals("cfg:test", cfgTestElement.getNodeName()); Element cfgNode = (Element) cfgTestElement.getChild(0); assertEquals("cfg:node", cfgNode.getNodeName()); Jerry.JerryParser jerryParser = new Jerry.JerryParser(); ((LagartoDOMBuilder) jerryParser.getDOMBuilder()).enableXmlMode(); Jerry jerry = jerryParser.parse(FileUtil.readString(file)); final StringBuilder result = new StringBuilder(); jerry.$("cfg\\:test").each(($this, index) -> { result.append($this.$("cfg\\:node").text()); return true; }); assertEquals("This is a text", result.toString()); }
@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); }
if(jerryParser == null) { jerryParser = Jerry.jerry().enableHtmlMode(); jerryParser.getDOMBuilder().setCaseSensitive(false); jerryParser.getDOMBuilder().setParseSpecialTagsAsCdata(true); jerryParser.getDOMBuilder().setSelfCloseVoidTags(false); jerryParser.getDOMBuilder().setConditionalCommentExpression(null); jerryParser.getDOMBuilder().setEnableConditionalComments(false); jerryParser.getDOMBuilder().setImpliedEndTags(false); jerryParser.getDOMBuilder().setIgnoreComments(true);
/** * Updates the copyright dates in the given file. */ @Override public void handleFile(File htmlFile) { if(jerryParser == null){ jerryParser = Jerry.jerry().enableHtmlMode(); jerryParser.getDOMBuilder().setCaseSensitive(false); jerryParser.getDOMBuilder().setParseSpecialTagsAsCdata(true); jerryParser.getDOMBuilder().setSelfCloseVoidTags(false); jerryParser.getDOMBuilder().setConditionalCommentExpression(null); jerryParser.getDOMBuilder().setEnableConditionalComments(false); jerryParser.getDOMBuilder().setImpliedEndTags(false); } log.trace("Handling file {}", htmlFile); try { String fileContents = FileUtils.readFileToString(htmlFile); Jerry html = jerryParser.parse(fileContents); Jerry selector = html.$("[data-cadmium='copyright']"); log.debug("Found {} copyright tags.", selector.length()); if(selector.length() > 0) { selector.text(year.toString()); log.trace("Writing updated file {}",htmlFile); FileUtils.writeStringToFile(htmlFile, html.html(), false); } } catch(Throwable t) { log.warn("Failed to update file "+htmlFile, t); } }
((LagartoDOMBuilder) jerryParser.getDOMBuilder()).enableHtmlMode(); ((LagartoDOMBuilder) jerryParser.getDOMBuilder()).getConfig().setCaseSensitive(true);
@Test void testConditionalTags3() { Jerry.JerryParser jerry = new Jerry.JerryParser(); ((LagartoDOMBuilder) jerry.getDOMBuilder()).getConfig() .setIgnoreComments(true) .setEnableConditionalComments(true) .setCondCommentIEVersion(10); Jerry doc = jerry.parse( "<html>" + " <!--[if lt IE 7]> <body class=\"ie ie6 ie_lte_9 ie_lte_8 ie_lte_7\"> <![endif]-->\n" + " <!--[if IE 7]> <body class=\"ie ie7 ie_lte_9 ie_lte_8 ie_lte_7\"> <![endif]-->\n" + " <!--[if IE 8]> <body class=\"ie ie8 ie_lte_9 ie_lte_8\"> <![endif]-->\n" + " <!--[if IE 9]> <body class=\"ie ie9 ie_lte_9\"> <![endif]-->\n" + " <!--[if gt IE 9]> <body class=\"ie\"> <![endif]-->\n" + " <!--[if !IE]><!--> <body> <!--<![endif]--> \n" + "</body></html>" ); String html = doc.html(); html = StringUtil.removeChars(html, " \n\r"); assertEquals("<html><bodyclass=\"ie\"></body></html>", html); } }
@Test void testConditionalTags2() { Jerry.JerryParser jerry = new Jerry.JerryParser(); ((LagartoDOMBuilder) jerry.getDOMBuilder()).getConfig() .setIgnoreComments(true) .setEnableConditionalComments(true) .setCondCommentIEVersion(8); Jerry doc = jerry.parse( "<html>" + " <!--[if lt IE 7]> <body class=\"ie ie6 ie_lte_9 ie_lte_8 ie_lte_7\"> <![endif]-->\n" + " <!--[if IE 7]> <body class=\"ie ie7 ie_lte_9 ie_lte_8 ie_lte_7\"> <![endif]-->\n" + " <!--[if IE 8]> <body class=\"ie ie8 ie_lte_9 ie_lte_8\"> <![endif]-->\n" + " <!--[if IE 9]> <body class=\"ie ie9 ie_lte_9\"> <![endif]-->\n" + " <!--[if gt IE 9]> <body class=\"ie\"> <![endif]-->\n" + " <!--[if !IE]>xxx--><body><!--<![endif]-->\n" + "</body></html>" ); String html = doc.html(); html = StringUtil.removeChars(html, " \n\r"); assertEquals("<html><bodyclass=\"ieie8ie_lte_9ie_lte_8\"></body></html>", html); }
@Test void testConditionalTags() { Jerry.JerryParser jerry = new Jerry.JerryParser(); ((LagartoDOMBuilder) jerry.getDOMBuilder()).getConfig().setIgnoreComments(true); Jerry doc = jerry.parse( "<html>" + " <!--[if lt IE 7]> <body class=\"ie ie6 ie_lte_9 ie_lte_8 ie_lte_7\"> <![endif]-->\n" + " <!--[if IE 7]> <body class=\"ie ie7 ie_lte_9 ie_lte_8 ie_lte_7\"> <![endif]-->\n" + " <!--[if IE 8]> <body class=\"ie ie8 ie_lte_9 ie_lte_8\"> <![endif]-->\n" + " <!--[if IE 9]> <body class=\"ie ie9 ie_lte_9\"> <![endif]-->\n" + " <!--[if gt IE 9]> <body class=\"ie\"> <![endif]-->\n" + " <!--[if !IE]>xxx--><body><!--<![endif]-->\n" + "</body></html>" ); String html = doc.html(); html = StringUtil.removeChars(html, " \n\r"); assertEquals("<html><body></body></html>", html); }
@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()); }
@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 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()); }
@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 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()); }