[Htmlparser-cvs] htmlparser/src/org/htmlparser/tests/tagTests AppletTagTest.java,1.28,1.29 DoctypeTa
Brought to you by:
derrickoswald
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/tagTests In directory sc8-pr-cvs1:/tmp/cvs-serv9618/tests/tagTests Modified Files: AppletTagTest.java DoctypeTagTest.java JspTagTest.java LinkTagTest.java MetaTagTest.java ScriptTagTest.java Log Message: Add bean like accessors for positions on Node, AbstractNode and AbstractNodeDecorator. Handle null page in Cursor. Add smartquotes mode in Lexer and CompositeTagScannerHelper. Add simple name constructor in Attribute. Remove emptyxmltag member, replace with computing accessors in TagNode. Removed ScriptScannerHelper and moved scanning logic to ScriptScanner. Reworked extractImageLocn in ImageScanner Implement extractXMLData in TagScanner. Made virtual tags zero length in TagData. Added push() to IteratorImpl. Added single node constructor to NodeList. Numerous and various test adjustments. Still 133 failures. Index: AppletTagTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/tagTests/AppletTagTest.java,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** AppletTagTest.java 22 Sep 2003 02:40:12 -0000 1.28 --- AppletTagTest.java 5 Oct 2003 13:49:54 -0000 1.29 *************** *** 55,67 **** createParser(testHTML); parser.registerScanners(); ! parseAndAssertNodeCount(2); assertTrue("Node should be an applet tag",node[0] instanceof AppletTag); // Check the data in the applet tag AppletTag appletTag = (AppletTag)node[0]; String expectedRawString = ! "<APPLET CODE=\"Myclass.class\" CODEBASE=\"www.kizna.com\" ARCHIVE=\"test.jar\">\r\n"+ ! "<PARAM VALUE=\"Value1\" NAME=\"Param1\">\r\n"+ ! "<PARAM VALUE=\"Somik\" NAME=\"Name\">\r\n"+ ! "<PARAM VALUE=\"23\" NAME=\"Age\">\r\n"+ "</APPLET>"; assertStringEquals("toHTML()",expectedRawString,appletTag.toHtml()); --- 55,67 ---- createParser(testHTML); parser.registerScanners(); ! parseAndAssertNodeCount(3); assertTrue("Node should be an applet tag",node[0] instanceof AppletTag); // Check the data in the applet tag AppletTag appletTag = (AppletTag)node[0]; String expectedRawString = ! "<APPLET CODE=Myclass.class ARCHIVE=test.jar CODEBASE=www.kizna.com>\n"+ ! "<PARAM NAME=\"Param1\" VALUE=\"Value1\">\n"+ ! "<PARAM NAME=\"Name\" VALUE=\"Somik\">\n"+ ! "<PARAM NAME=\"Age\" VALUE=\"23\">\n"+ "</APPLET>"; assertStringEquals("toHTML()",expectedRawString,appletTag.toHtml()); *************** *** 82,86 **** createParser(testHTML); parser.registerScanners(); ! parseAndAssertNodeCount(2); assertTrue("Node should be an applet tag",node[0] instanceof AppletTag); AppletTag appletTag = (AppletTag)node[0]; --- 82,86 ---- createParser(testHTML); parser.registerScanners(); ! parseAndAssertNodeCount(3); assertTrue("Node should be an applet tag",node[0] instanceof AppletTag); AppletTag appletTag = (AppletTag)node[0]; *************** *** 88,95 **** // Check the data in the applet tag String expectedRawString = ! "<APPLET CODE=\"Myclass.class\" CODEBASE=\"htmlparser.sourceforge.net\" ARCHIVE=\"test.jar\">\r\n"+ ! "<PARAM VALUE=\"Value1\" NAME=\"Param1\">\r\n"+ ! "<PARAM VALUE=\"Somik\" NAME=\"Name\">\r\n"+ ! "<PARAM VALUE=\"23\" NAME=\"Age\">\r\n"+ "</APPLET>"; assertStringEquals("toHTML()",expectedRawString,appletTag.toHtml()); --- 88,95 ---- // Check the data in the applet tag String expectedRawString = ! "<APPLET CODE=Myclass.class ARCHIVE=test.jar CODEBASE=htmlparser.sourceforge.net>\n"+ ! "<PARAM NAME=\"Param1\" VALUE=\"Value1\">\n"+ ! "<PARAM NAME=\"Name\" VALUE=\"Somik\">\n"+ ! "<PARAM NAME=\"Age\" VALUE=\"23\">\n"+ "</APPLET>"; assertStringEquals("toHTML()",expectedRawString,appletTag.toHtml()); *************** *** 110,114 **** createParser(testHTML); parser.registerScanners(); ! parseAndAssertNodeCount(2); assertTrue("Node should be an applet tag",node[0] instanceof AppletTag); AppletTag appletTag = (AppletTag)node[0]; --- 110,114 ---- createParser(testHTML); parser.registerScanners(); ! parseAndAssertNodeCount(3); assertTrue("Node should be an applet tag",node[0] instanceof AppletTag); AppletTag appletTag = (AppletTag)node[0]; *************** *** 116,123 **** // Check the data in the applet tag String expectedRawString = ! "<APPLET CODE=\"Myclass.class\" CODEBASE=\"www.kizna.com\" ARCHIVE=\"htmlparser.jar\">\r\n"+ ! "<PARAM VALUE=\"Value1\" NAME=\"Param1\">\r\n"+ ! "<PARAM VALUE=\"Somik\" NAME=\"Name\">\r\n"+ ! "<PARAM VALUE=\"23\" NAME=\"Age\">\r\n"+ "</APPLET>"; assertStringEquals("toHTML()",expectedRawString,appletTag.toHtml()); --- 116,123 ---- // Check the data in the applet tag String expectedRawString = ! "<APPLET CODE=Myclass.class ARCHIVE=htmlparser.jar CODEBASE=htmlparser.sourceforge.net>\n"+ ! "<PARAM NAME=\"Param1\" VALUE=\"Value1\">\n"+ ! "<PARAM NAME=\"Name\" VALUE=\"Somik\">\n"+ ! "<PARAM NAME=\"Age\" VALUE=\"23\">\n"+ "</APPLET>"; assertStringEquals("toHTML()",expectedRawString,appletTag.toHtml()); *************** *** 138,142 **** createParser(testHTML); parser.registerScanners(); ! parseAndAssertNodeCount(2); assertTrue("Node should be an applet tag",node[0] instanceof AppletTag); AppletTag appletTag = (AppletTag)node[0]; --- 138,142 ---- createParser(testHTML); parser.registerScanners(); ! parseAndAssertNodeCount(3); assertTrue("Node should be an applet tag",node[0] instanceof AppletTag); AppletTag appletTag = (AppletTag)node[0]; *************** *** 144,151 **** // Check the data in the applet tag String expectedRawString = ! "<APPLET CODE=\"MyOtherClass.class\" CODEBASE=\"www.kizna.com\" ARCHIVE=\"test.jar\">\r\n"+ ! "<PARAM VALUE=\"Value1\" NAME=\"Param1\">\r\n"+ ! "<PARAM VALUE=\"Somik\" NAME=\"Name\">\r\n"+ ! "<PARAM VALUE=\"23\" NAME=\"Age\">\r\n"+ "</APPLET>"; assertStringEquals("toHTML()",expectedRawString,appletTag.toHtml()); --- 144,151 ---- // Check the data in the applet tag String expectedRawString = ! "<APPLET CODE=MyOtherClass.class ARCHIVE=htmlparser.jar CODEBASE=htmlparser.sourceforge.net>\n"+ ! "<PARAM NAME=\"Param1\" VALUE=\"Value1\">\n"+ ! "<PARAM NAME=\"Name\" VALUE=\"Somik\">\n"+ ! "<PARAM NAME=\"Age\" VALUE=\"23\">\n"+ "</APPLET>"; assertStringEquals("toHTML()",expectedRawString,appletTag.toHtml()); *************** *** 166,170 **** createParser(testHTML); parser.registerScanners(); ! parseAndAssertNodeCount(2); assertTrue("Node should be an applet tag",node[0] instanceof AppletTag); AppletTag appletTag = (AppletTag)node[0]; --- 166,170 ---- createParser(testHTML); parser.registerScanners(); ! parseAndAssertNodeCount(3); assertTrue("Node should be an applet tag",node[0] instanceof AppletTag); AppletTag appletTag = (AppletTag)node[0]; *************** *** 178,184 **** // Check the data in the applet tag String expectedRawString = ! "<APPLET CODE=\"Myclass.class\" CODEBASE=\"www.kizna.com\" ARCHIVE=\"test.jar\">\r\n"+ ! "<PARAM VALUE=\"Two\" NAME=\"Second\">"+ "<PARAM VALUE=\"One\" NAME=\"First\">"+ "<PARAM VALUE=\"3\" NAME=\"Third\">"+ "</APPLET>"; --- 178,184 ---- // Check the data in the applet tag String expectedRawString = ! "<APPLET CODE=MyOtherClass.class ARCHIVE=htmlparser.jar CODEBASE=htmlparser.sourceforge.net>\n"+ "<PARAM VALUE=\"One\" NAME=\"First\">"+ + "<PARAM VALUE=\"Two\" NAME=\"Second\">"+ "<PARAM VALUE=\"3\" NAME=\"Third\">"+ "</APPLET>"; Index: DoctypeTagTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/tagTests/DoctypeTagTest.java,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** DoctypeTagTest.java 22 Sep 2003 02:40:12 -0000 1.28 --- DoctypeTagTest.java 5 Oct 2003 13:49:54 -0000 1.29 *************** *** 52,58 **** createParser(testHTML); parser.registerScanners(); ! parseAndAssertNodeCount(9); ! // The node should be an HTMLLinkTag ! assertTrue("Node should be a HTMLDoctypeTag",node[0] instanceof DoctypeTag); DoctypeTag docTypeTag = (DoctypeTag)node[0]; assertStringEquals("toHTML()","<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">",docTypeTag.toHtml()); --- 52,58 ---- createParser(testHTML); parser.registerScanners(); ! parseAndAssertNodeCount(16); ! // The node should be an DoctypeTag ! assertTrue("Node should be a DoctypeTag",node[0] instanceof DoctypeTag); DoctypeTag docTypeTag = (DoctypeTag)node[0]; assertStringEquals("toHTML()","<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">",docTypeTag.toHtml()); Index: JspTagTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/tagTests/JspTagTest.java,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** JspTagTest.java 22 Sep 2003 02:40:12 -0000 1.31 --- JspTagTest.java 5 Oct 2003 13:49:54 -0000 1.32 *************** *** 77,94 **** // Register the Jsp Scanner parser.addScanner(new JspScanner("-j")); ! parseAndAssertNodeCount(5); ! // The first node should be an HTMLJspTag ! assertTrue("Node 1 should be an HTMLJspTag",node[0] instanceof JspTag); JspTag tag = (JspTag)node[0]; assertStringEquals("Contents of the tag","@ taglib uri=\"/WEB-INF/struts.tld\" prefix=\"struts\" ",tag.getText()); // The second node should be a normal tag ! assertTrue("Node 2 should be an Tag",node[1] instanceof Tag); ! Tag htag = (Tag)node[1]; assertStringEquals("Contents of the tag","jsp:useBean id=\"transfer\" scope=\"session\" class=\"com.bank.PageBean\"",htag.getText()); assertStringEquals("html","<JSP:USEBEAN ID=\"transfer\" SCOPE=\"session\" CLASS=\"com.bank.PageBean\"/>",htag.toHtml()); ! // The third node should be an HTMLJspTag ! assertTrue("Node 3 should be an HTMLJspTag",node[2] instanceof JspTag); ! JspTag tag2 = (JspTag)node[2]; String expected = "\r\n"+ " org.apache.struts.util.BeanUtils.populate(transfer, request);\r\n"+ --- 77,94 ---- // Register the Jsp Scanner parser.addScanner(new JspScanner("-j")); ! parseAndAssertNodeCount(8); ! // The first node should be an JspTag ! assertTrue("Node 1 should be an JspTag",node[0] instanceof JspTag); JspTag tag = (JspTag)node[0]; assertStringEquals("Contents of the tag","@ taglib uri=\"/WEB-INF/struts.tld\" prefix=\"struts\" ",tag.getText()); // The second node should be a normal tag ! assertTrue("Node 3 should be a normal Tag",node[2] instanceof Tag); ! Tag htag = (Tag)node[2]; assertStringEquals("Contents of the tag","jsp:useBean id=\"transfer\" scope=\"session\" class=\"com.bank.PageBean\"",htag.getText()); assertStringEquals("html","<JSP:USEBEAN ID=\"transfer\" SCOPE=\"session\" CLASS=\"com.bank.PageBean\"/>",htag.toHtml()); ! // The third node should be an JspTag ! assertTrue("Node 5 should be an JspTag",node[4] instanceof JspTag); ! JspTag tag2 = (JspTag)node[4]; String expected = "\r\n"+ " org.apache.struts.util.BeanUtils.populate(transfer, request);\r\n"+ *************** *** 139,152 **** // Register the Jsp Scanner parser.addScanner(new JspScanner("-j")); ! parseAndAssertNodeCount(5); ! // The first node should be an HTMLJspTag ! assertTrue("Node 1 should be an HTMLJspTag",node[0] instanceof JspTag); JspTag tag = (JspTag)node[0]; assertEquals("Raw String of the first JSP tag","<%@ taglib uri=\"/WEB-INF/struts.tld\" prefix=\"struts\" %>",tag.toHtml()); ! // The third node should be an HTMLJspTag ! assertTrue("Node 2 should be an HTMLJspTag",node[2] instanceof JspTag); ! JspTag tag2 = (JspTag)node[2]; String expected = "<%\r\n"+ " org.apache.struts.util.BeanUtils.populate(transfer, request);\r\n"+ --- 139,152 ---- // Register the Jsp Scanner parser.addScanner(new JspScanner("-j")); ! parseAndAssertNodeCount(8); ! // The first node should be an JspTag ! assertTrue("Node 1 should be an JspTag",node[0] instanceof JspTag); JspTag tag = (JspTag)node[0]; assertEquals("Raw String of the first JSP tag","<%@ taglib uri=\"/WEB-INF/struts.tld\" prefix=\"struts\" %>",tag.toHtml()); ! // The third node should be an JspTag ! assertTrue("Node 5 should be an JspTag",node[5] instanceof JspTag); ! JspTag tag2 = (JspTag)node[8]; String expected = "<%\r\n"+ " org.apache.struts.util.BeanUtils.populate(transfer, request);\r\n"+ Index: LinkTagTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/tagTests/LinkTagTest.java,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** LinkTagTest.java 28 Sep 2003 15:33:59 -0000 1.35 --- LinkTagTest.java 5 Oct 2003 13:49:54 -0000 1.36 *************** *** 276,286 **** parser.addScanner(new LinkScanner("-l")); ! parseAndAssertNodeCount(9); ! assertTrue("First Node should be a HTMLLinkTag",node[0] instanceof LinkTag); LinkTag linkTag = (LinkTag)node[0]; assertStringEquals("Link Raw Text","<A HREF=\"mailto:so...@ya...\">hello</A>",linkTag.toHtml()); ! assertTrue("Eighth Node should be a HTMLLinkTag",node[7] instanceof LinkTag); ! linkTag = (LinkTag)node[7]; ! assertStringEquals("Link Raw Text","<A HREF=\"http://ads.samachar.com/bin/redirect/tech.txt?http://www.samachar.com/tech\r\nnical.html\"> Journalism 3.0</A>",linkTag.toHtml()); } --- 276,286 ---- parser.addScanner(new LinkScanner("-l")); ! parseAndAssertNodeCount(10); ! assertTrue("First Node should be a LinkTag",node[0] instanceof LinkTag); LinkTag linkTag = (LinkTag)node[0]; assertStringEquals("Link Raw Text","<A HREF=\"mailto:so...@ya...\">hello</A>",linkTag.toHtml()); ! assertTrue("Ninth Node should be a HTMLLinkTag",node[8] instanceof LinkTag); ! linkTag = (LinkTag)node[8]; ! assertStringEquals("Link Raw Text","<A HREF=\"http://ads.samachar.com/bin/redirect/tech.txt?http://www.samachar.com/tech\nnical.html\"> Journalism 3.0</A>",linkTag.toHtml()); } Index: MetaTagTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/tagTests/MetaTagTest.java,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** MetaTagTest.java 22 Sep 2003 02:40:12 -0000 1.29 --- MetaTagTest.java 5 Oct 2003 13:49:54 -0000 1.30 *************** *** 53,63 **** parser.registerScanners(); ! parseAndAssertNodeCount(9); ! assertTrue("Node 5 should be META Tag",node[4] instanceof MetaTag); MetaTag metaTag; ! metaTag = (MetaTag) node[4]; ! assertStringEquals("Meta Tag 4 Name","description",metaTag.getMetaTagName()); ! assertStringEquals("Meta Tag 4 Contents","Protecting the internet community through technology, not legislation. SpamCop eliminates spam. Automatically file spam reports with the network administrators who can stop spam at the source. Subscribe, and filter your email through powerful statistical analysis before it reaches your inbox.",metaTag.getMetaContent()); ! assertStringEquals("toHTML()","<META CONTENT=\"Protecting the internet community through technology, not legislation. SpamCop eliminates spam. Automatically file spam reports with the network administrators who can stop spam at the source. Subscribe, and filter your email through powerful statistical analysis before it reaches your inbox.\" NAME=\"description\">",metaTag.toHtml()); } } --- 53,63 ---- parser.registerScanners(); ! parseAndAssertNodeCount(16); ! assertTrue("Node 8 should be META Tag",node[7] instanceof MetaTag); MetaTag metaTag; ! metaTag = (MetaTag) node[7]; ! assertStringEquals("Meta Tag 7 Name","description",metaTag.getMetaTagName()); ! assertStringEquals("Meta Tag 7 Contents","Protecting the internet community through technology, not legislation. SpamCop eliminates spam. Automatically file spam reports with the network administrators who can stop spam at the source. Subscribe, and filter your email through powerful statistical analysis before it reaches your inbox.",metaTag.getMetaContent()); ! assertStringEquals("toHTML()","<META name=\"description\" content=\"Protecting the internet community through technology, not legislation. SpamCop eliminates spam. Automatically file spam reports with the network administrators who can stop spam at the source. Subscribe, and filter your email through powerful statistical analysis before it reaches your inbox.\">",metaTag.toHtml()); } } Index: ScriptTagTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/tagTests/ScriptTagTest.java,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** ScriptTagTest.java 28 Sep 2003 15:33:59 -0000 1.30 --- ScriptTagTest.java 5 Oct 2003 13:49:54 -0000 1.31 *************** *** 99,110 **** public void testToHTMLWG() throws ParserException { StringBuffer sb1 = new StringBuffer(); ! sb1.append("<body><script language=\"javascript\">\r\n"); ! sb1.append("if(navigator.appName.indexOf(\"Netscape\") != -1)\r\n"); ! sb1.append(" document.write ('xxx');\r\n"); ! sb1.append("else\r\n"); ! sb1.append(" document.write ('yyy');\r\n"); ! sb1.append("</script>\r\n"); ! String testHTML1 = new String(sb1.toString()); createParser(testHTML1); --- 99,116 ---- public void testToHTMLWG() throws ParserException { + StringBuffer sb2 = new StringBuffer(); + sb2.append("<script language=\"javascript\">\r\n"); + sb2.append("if(navigator.appName.indexOf(\"Netscape\") != -1)\r\n"); + sb2.append(" document.write ('xxx');\r\n"); + sb2.append("else\r\n"); + sb2.append(" document.write ('yyy');\r\n"); + sb2.append("</script>"); + String expectedHTML = sb2.toString(); + StringBuffer sb1 = new StringBuffer(); ! sb1.append("<body>"); ! sb1.append(expectedHTML); ! sb1.append("\r\n"); ! String testHTML1 = sb1.toString(); createParser(testHTML1); *************** *** 113,132 **** parser.addScanner(new ScriptScanner("-s")); ! ! StringBuffer sb2 = new StringBuffer(); ! sb2.append("<SCRIPT LANGUAGE=\"javascript\">\r\n"); ! sb2.append("if(navigator.appName.indexOf(\"Netscape\") != -1)\r\n"); ! sb2.append(" document.write ('xxx');\r\n"); ! sb2.append("else\r\n"); ! sb2.append(" document.write ('yyy');\r\n"); ! sb2.append("</SCRIPT>"); ! String expectedHTML = new String(sb2.toString()); ! ! parseAndAssertNodeCount(2); assertTrue("Node should be a script tag",node[1] instanceof ScriptTag); ! // Check the data in the applet tag ! ScriptTag scriptTag = (ScriptTag)node ! [1]; assertStringEquals("Expected Script Code",expectedHTML,scriptTag.toHtml()); } --- 119,127 ---- parser.addScanner(new ScriptScanner("-s")); ! parseAndAssertNodeCount(3); assertTrue("Node should be a script tag",node[1] instanceof ScriptTag); ! // Check the data in the script tag ! ScriptTag scriptTag = (ScriptTag)node[1]; assertStringEquals("Expected Script Code",expectedHTML,scriptTag.toHtml()); } *************** *** 161,168 **** parser.addScanner(new ScriptScanner("-s")); //parser.registerScanners(); ! parseAndAssertNodeCount(1); assertTrue("Node should be a script tag",node[0] instanceof ScriptTag); ScriptTag scriptTag = (ScriptTag)node[0]; ! assertStringEquals("Script toHTML()","<SCRIPT LANGUAGE=\"javascript\">\r\nvar lower = '<%=lowerValue%>';\r\n</SCRIPT>",scriptTag.toHtml()); } --- 156,163 ---- parser.addScanner(new ScriptScanner("-s")); //parser.registerScanners(); ! parseAndAssertNodeCount(2); assertTrue("Node should be a script tag",node[0] instanceof ScriptTag); ScriptTag scriptTag = (ScriptTag)node[0]; ! assertStringEquals("Script toHTML()","<script language=\"javascript\">\nvar lower = '<%=lowerValue%>';\n</script>",scriptTag.toHtml()); } |