@Test void testStuck() throws IOException { File file = new File(testDataRoot, "stuck.html.gz"); InputStream in = new GZIPInputStream(new FileInputStream(file)); ByteArrayOutputStream out = new ByteArrayOutputStream(); StreamUtil.copy(in, out); in.close(); Jerry.JerryParser jerryParser = new Jerry.JerryParser(); // LagartoDOMBuilder lagartoDOMBuilder = (LagartoDOMBuilder) jerryParser.getDOMBuilder(); // lagartoDOMBuilder.setParsingErrorLogLevelName("ERROR"); Jerry doc = jerryParser.parse(out.toString("UTF-8")); // parse try { doc.$("a").each(($this, index) -> { assertEquals("Go to Database Directory", $this.html().trim()); return false; }); } catch (StackOverflowError stackOverflowError) { fail("stack overflow!"); } } }
@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 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; }); }
/** * Just creates new {@link JerryParser Jerry runner} to separate * parser creation and creation of new Jerry instances. */ public static JerryParser jerry() { return new JerryParser(); }
/** * Creates new {@link JerryParser Jerry runner} with * provided implementation of {@link DOMBuilder}. */ public static JerryParser jerry(DOMBuilder domBuilder) { return new JerryParser(domBuilder); }
/** * Creates new {@link jodd.jerry.Jerry.JerryParser Jerry runner} with * provided implementation of {@link jodd.lagarto.dom.DOMBuilder}. */ public static JerryParser jerry(final DOMBuilder domBuilder) { return new JerryParser(domBuilder); }
/** * Just creates new {@link jodd.jerry.Jerry.JerryParser Jerry runner} to separate * parser creation and creation of new Jerry instances. */ public static JerryParser jerry() { return new JerryParser(); }
@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 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 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 testPortletUtils() throws IOException { File file = new File(testDataRoot, "PortletUtils.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; }); }
/** * Creates new {@link jodd.jerry.Jerry.JerryParser Jerry runner} with * provided implementation of {@link jodd.lagarto.dom.DOMBuilder}. */ public static JerryParser jerry(final DOMBuilder domBuilder) { return new JerryParser(domBuilder); }
@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); }
/** * Just creates new {@link jodd.jerry.Jerry.JerryParser Jerry runner} to separate * parser creation and creation of new Jerry instances. */ public static JerryParser jerry() { return new JerryParser(); }