[Htmlparser-cvs] htmlparser/src/org/htmlparser/tests/scannersTests AppletScannerTest.java,1.27,1.28
Brought to you by:
derrickoswald
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests In directory sc8-pr-cvs1:/tmp/cvs-serv9618/tests/scannersTests Modified Files: AppletScannerTest.java FormScannerTest.java FrameScannerTest.java ImageScannerTest.java JspScannerTest.java LabelScannerTest.java LinkScannerTest.java MetaTagScannerTest.java OptionTagScannerTest.java ScriptScannerTest.java TagScannerTest.java TitleScannerTest.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: AppletScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/AppletScannerTest.java,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** AppletScannerTest.java 22 Sep 2003 02:40:08 -0000 1.27 --- AppletScannerTest.java 5 Oct 2003 13:49:54 -0000 1.28 *************** *** 61,66 **** } testHTML+= ! "</APPLET>\n"+ ! "</HTML>"; createParser(testHTML); --- 61,65 ---- } testHTML+= ! "</APPLET></HTML>"; createParser(testHTML); Index: FormScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/FormScannerTest.java,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** FormScannerTest.java 22 Sep 2003 02:40:09 -0000 1.33 --- FormScannerTest.java 5 Oct 2003 13:49:54 -0000 1.34 *************** *** 149,153 **** parser.addScanner(new FormScanner("",parser)); ! parseAndAssertNodeCount(2); } /** --- 149,153 ---- parser.addScanner(new FormScanner("",parser)); ! parseAndAssertNodeCount(3); } /** *************** *** 263,272 **** parser.addScanner(new FormScanner("",parser)); parser.addScanner(new LinkScanner()); ! parseAndAssertNodeCount(6); ! assertTrue("Fifth Node is a link",node[4] instanceof LinkTag); ! LinkTag linkTag = (LinkTag)node[4]; ! assertEquals("Link Text","Yahoo!\r\n",linkTag.getLinkText()); assertEquals("Link URL","http://www.yahoo.com",linkTag.getLink()); ! assertType("Sixth Node",FormTag.class,node[5]); } --- 263,272 ---- parser.addScanner(new FormScanner("",parser)); parser.addScanner(new LinkScanner()); ! parseAndAssertNodeCount(8); ! assertTrue("Seventh Node is a link",node[6] instanceof LinkTag); ! LinkTag linkTag = (LinkTag)node[6]; ! assertEquals("Link Text","Yahoo!\n",linkTag.getLinkText()); assertEquals("Link URL","http://www.yahoo.com",linkTag.getLink()); ! assertType("Eigth Node",FormTag.class,node[7]); } Index: FrameScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/FrameScannerTest.java,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** FrameScannerTest.java 22 Sep 2003 02:40:09 -0000 1.27 --- FrameScannerTest.java 5 Oct 2003 13:49:54 -0000 1.28 *************** *** 49,59 **** parser.addScanner(new FrameScanner("")); ! parseAndAssertNodeCount(4); - assertTrue("Node 1 should be Frame Tag",node[1] instanceof FrameTag); assertTrue("Node 2 should be Frame Tag",node[2] instanceof FrameTag); ! FrameTag frameTag1 = (FrameTag)node[1]; ! FrameTag frameTag2 = (FrameTag)node[2]; assertEquals("Frame 1 Locn","http://www.google.com/test/demo_bc_top.html",frameTag1.getFrameLocation()); assertEquals("Frame 1 Name","topFrame",frameTag1.getFrameName()); --- 49,59 ---- parser.addScanner(new FrameScanner("")); ! parseAndAssertNodeCount(7); assertTrue("Node 2 should be Frame Tag",node[2] instanceof FrameTag); + assertTrue("Node 4 should be Frame Tag",node[4] instanceof FrameTag); ! FrameTag frameTag1 = (FrameTag)node[2]; ! FrameTag frameTag2 = (FrameTag)node[4]; assertEquals("Frame 1 Locn","http://www.google.com/test/demo_bc_top.html",frameTag1.getFrameLocation()); assertEquals("Frame 1 Name","topFrame",frameTag1.getFrameName()); Index: ImageScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/ImageScannerTest.java,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** ImageScannerTest.java 28 Sep 2003 15:33:59 -0000 1.32 --- ImageScannerTest.java 5 Oct 2003 13:49:54 -0000 1.33 *************** *** 73,81 **** public void testExtractImageLocnInvertedCommasBug() throws ParserException { ! fail ("not implemented"); ! // Tag tag = new Tag(new TagData(0,0,"img width=638 height=53 border=0 usemap=\"#m\" src=http://us.a1.yimg.com/us.yimg.com/i/ww/m5v5.gif alt=Yahoo","")); ! // String url = "c:\\cvs\\html\\binaries\\yahoo.htm"; ! // ImageScanner scanner = new ImageScanner("-i",new LinkProcessor()); ! // assertEquals("Extracted Image Locn","http://us.a1.yimg.com/us.yimg.com/i/ww/m5v5.gif",scanner.extractImageLocn(tag,url)); } --- 73,84 ---- public void testExtractImageLocnInvertedCommasBug() throws ParserException { ! String locn = "http://us.a1.yimg.com/us.yimg.com/i/ww/m5v5.gif"; ! createParser ("<img width=638 height=53 border=0 usemap=\"#m\" src=" + locn + " alt=Yahoo>"); ! // Register the image scanner ! parser.addScanner(new ImageScanner("-i",new LinkProcessor())); ! parseAndAssertNodeCount(1); ! assertTrue("Node identified should be HTMLImageTag",node[0] instanceof ImageTag); ! ImageTag imageTag = (ImageTag)node[0]; ! assertEquals("Expected Image Locn",locn,imageTag.getImageURL()); } Index: JspScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/JspScannerTest.java,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** JspScannerTest.java 22 Sep 2003 02:40:10 -0000 1.28 --- JspScannerTest.java 5 Oct 2003 13:49:54 -0000 1.29 *************** *** 53,59 **** // Register the Jsp Scanner parser.addScanner(new JspScanner("-j")); ! parseAndAssertNodeCount(4); ! // The first node should be an HTMLJspTag ! assertTrue("Third should be an HTMLJspTag",node[2] instanceof JspTag); JspTag tag = (JspTag)node[2]; assertEquals("tag contents","=object",tag.getText()); --- 53,59 ---- // Register the Jsp Scanner parser.addScanner(new JspScanner("-j")); ! parseAndAssertNodeCount(5); ! // The first node should be an JspTag ! assertTrue("Third should be an JspTag",node[2] instanceof JspTag); JspTag tag = (JspTag)node[2]; assertEquals("tag contents","=object",tag.getText()); *************** *** 78,82 **** "return value;\n" + "}\n" + ! "%>\n"); Parser.setLineSeparator("\r\n"); // Register the Jsp Scanner --- 78,82 ---- "return value;\n" + "}\n" + ! "%>"); Parser.setLineSeparator("\r\n"); // Register the Jsp Scanner Index: LabelScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/LabelScannerTest.java,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** LabelScannerTest.java 22 Sep 2003 02:40:11 -0000 1.36 --- LabelScannerTest.java 5 Oct 2003 13:49:54 -0000 1.37 *************** *** 141,145 **** "<LABEL>Mailcity\n</LABEL>"+ "<LABEL>\nIndiatimes\n</LABEL>"+ ! "<LABEL>\nRediff\n</LABEL>\n"+ "<LABEL>Cricinfo" + "<LABEL value=\"Microsoft Passport\">" + --- 141,145 ---- "<LABEL>Mailcity\n</LABEL>"+ "<LABEL>\nIndiatimes\n</LABEL>"+ ! "<LABEL>\nRediff\n</LABEL>"+ "<LABEL>Cricinfo" + "<LABEL value=\"Microsoft Passport\">" + Index: LinkScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/LinkScannerTest.java,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** LinkScannerTest.java 28 Sep 2003 15:33:59 -0000 1.38 --- LinkScannerTest.java 5 Oct 2003 13:49:54 -0000 1.39 *************** *** 69,73 **** ); parser.registerScanners(); ! parseAndAssertNodeCount(6); // The first node should be a Tag assertTrue("First node should be a Tag",node[0] instanceof Tag); --- 69,73 ---- ); parser.registerScanners(); ! parseAndAssertNodeCount(5); // The first node should be a Tag assertTrue("First node should be a Tag",node[0] instanceof Tag); *************** *** 398,404 **** // Register the image scanner parser.registerScanners(); ! parseAndAssertNodeCount(7); ! assertTrue("Node 4 should be a link tag",node[4] instanceof LinkTag); ! LinkTag linkTag = (LinkTag)node[4]; assertEquals("Resolved Link","http://www.abc.com/home.cfm",linkTag.getLink()); assertEquals("Resolved Link Text","Home",linkTag.getLinkText()); --- 398,404 ---- // Register the image scanner parser.registerScanners(); ! parseAndAssertNodeCount(11); ! assertTrue("Node 4 should be a link tag",node[6] instanceof LinkTag); ! LinkTag linkTag = (LinkTag)node[6]; assertEquals("Resolved Link","http://www.abc.com/home.cfm",linkTag.getLink()); assertEquals("Resolved Link Text","Home",linkTag.getLinkText()); Index: MetaTagScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/MetaTagScannerTest.java,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** MetaTagScannerTest.java 28 Sep 2003 15:33:59 -0000 1.29 --- MetaTagScannerTest.java 5 Oct 2003 13:49:54 -0000 1.30 *************** *** 55,89 **** parser.addScanner(scanner); ! parseAndAssertNodeCount(11); ! assertTrue("Node 5 should be End Tag",node[5] instanceof Tag && ((Tag)node[5]).isEndTag ()); ! assertTrue("Node 6 should be META Tag",node[6] instanceof MetaTag); MetaTag metaTag; ! metaTag = (MetaTag) node[6]; ! assertEquals("Meta Tag 6 Name","description",metaTag.getMetaTagName()); ! assertEquals("Meta Tag 6 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()); ! assertTrue("Node 7 should be META Tag",node[7] instanceof MetaTag); ! assertTrue("Node 8 should be META Tag",node[8] instanceof MetaTag); ! assertTrue("Node 9 should be META Tag",node[9] instanceof MetaTag); ! metaTag = (MetaTag) node[7]; ! assertEquals("Meta Tag 7 Name","keywords",metaTag.getMetaTagName()); ! assertEquals("Meta Tag 7 Contents","SpamCop spam cop email filter abuse header headers parse parser utility script net net-abuse filter mail program system trace traceroute dns",metaTag.getMetaContent()); ! assertNull("Meta Tag 7 Http-Equiv",metaTag.getHttpEquiv()); ! metaTag = (MetaTag) node[8]; ! assertEquals("Meta Tag 8 Name","language",metaTag.getMetaTagName()); ! assertEquals("Meta Tag 8 Contents","en",metaTag.getMetaContent()); ! assertNull("Meta Tag 8 Http-Equiv",metaTag.getHttpEquiv()); ! metaTag = (MetaTag) node[9]; ! assertEquals("Meta Tag 9 Name","owner",metaTag.getMetaTagName()); ! assertEquals("Meta Tag 9 Contents","se...@ad...",metaTag.getMetaContent()); ! assertNull("Meta Tag 9 Http-Equiv",metaTag.getHttpEquiv()); ! metaTag = (MetaTag) node[10]; ! assertNull("Meta Tag 10 Name",metaTag.getMetaTagName()); ! assertEquals("Meta Tag 10 Contents","text/html; charset=ISO-8859-1",metaTag.getMetaContent()); ! assertEquals("Meta Tag 10 Http-Equiv","content-type",metaTag.getHttpEquiv()); assertEquals("This Scanner",scanner,metaTag.getThisScanner()); --- 55,90 ---- parser.addScanner(scanner); ! parseAndAssertNodeCount(18); ! assertTrue("Node 7 should be End Tag",node[7] instanceof Tag && ((Tag)node[7]).isEndTag ()); ! assertTrue("Node 9 should be META Tag",node[9] instanceof MetaTag); MetaTag metaTag; ! metaTag = (MetaTag) node[9]; ! assertEquals("Meta Tag 9 Name","description",metaTag.getMetaTagName()); ! assertEquals("Meta Tag 9 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()); ! assertTrue("Node 11 should be META Tag",node[11] instanceof MetaTag); ! assertTrue("Node 13 should be META Tag",node[13] instanceof MetaTag); ! assertTrue("Node 15 should be META Tag",node[15] instanceof MetaTag); ! assertTrue("Node 17 should be META Tag",node[17] instanceof MetaTag); ! metaTag = (MetaTag) node[11]; ! assertEquals("Meta Tag 11 Name","keywords",metaTag.getMetaTagName()); ! assertEquals("Meta Tag 11 Contents","SpamCop spam cop email filter abuse header headers parse parser utility script net net-abuse filter mail program system trace traceroute dns",metaTag.getMetaContent()); ! assertNull("Meta Tag 11 Http-Equiv",metaTag.getHttpEquiv()); ! metaTag = (MetaTag) node[13]; ! assertEquals("Meta Tag 13 Name","language",metaTag.getMetaTagName()); ! assertEquals("Meta Tag 13 Contents","en",metaTag.getMetaContent()); ! assertNull("Meta Tag 13 Http-Equiv",metaTag.getHttpEquiv()); ! metaTag = (MetaTag) node[15]; ! assertEquals("Meta Tag 15 Name","owner",metaTag.getMetaTagName()); ! assertEquals("Meta Tag 15 Contents","se...@ad...",metaTag.getMetaContent()); ! assertNull("Meta Tag 15 Http-Equiv",metaTag.getHttpEquiv()); ! metaTag = (MetaTag) node[17]; ! assertNull("Meta Tag 17 Name",metaTag.getMetaTagName()); ! assertEquals("Meta Tag 17 Contents","text/html; charset=ISO-8859-1",metaTag.getMetaContent()); ! assertEquals("Meta Tag 17 Http-Equiv","content-type",metaTag.getHttpEquiv()); assertEquals("This Scanner",scanner,metaTag.getThisScanner()); Index: OptionTagScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/OptionTagScannerTest.java,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** OptionTagScannerTest.java 22 Sep 2003 02:40:11 -0000 1.29 --- OptionTagScannerTest.java 5 Oct 2003 13:49:54 -0000 1.30 *************** *** 32,35 **** --- 32,36 ---- import org.htmlparser.Node; + import org.htmlparser.StringNode; import org.htmlparser.scanners.OptionTagScanner; import org.htmlparser.tags.OptionTag; *************** *** 65,71 **** createParser(testHTML,"http://www.google.com/test/index.html"); parser.addScanner(scanner); ! parseAndAssertNodeCount(9); for(int j=0;j<i;j++) { assertTrue("Node " + j + " should be Option Tag",node[j] instanceof OptionTag); OptionTag OptionTag = (OptionTag) node[j]; --- 66,74 ---- createParser(testHTML,"http://www.google.com/test/index.html"); parser.addScanner(scanner); ! parseAndAssertNodeCount(10); for(int j=0;j<i;j++) { + if (node[j] instanceof StringNode) + continue; assertTrue("Node " + j + " should be Option Tag",node[j] instanceof OptionTag); OptionTag OptionTag = (OptionTag) node[j]; Index: ScriptScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/ScriptScannerTest.java,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** ScriptScannerTest.java 22 Sep 2003 02:40:11 -0000 1.40 --- ScriptScannerTest.java 5 Oct 2003 13:49:54 -0000 1.41 *************** *** 75,79 **** public void testScanBug() throws ParserException { ! createParser("<SCRIPT LANGUAGE=\"JavaScript\" SRC=\"../js/DetermineBrowser.js\"></SCRIPT>","http://www.google.com/test/index.html"); // Register the image scanner parser.addScanner(new ScriptScanner("-s")); --- 75,80 ---- public void testScanBug() throws ParserException { ! String src = "\"../js/DetermineBrowser.js\""; ! createParser("<SCRIPT LANGUAGE=\"JavaScript\" SRC=" + src + "></SCRIPT>","http://www.google.com/test/index.html"); // Register the image scanner parser.addScanner(new ScriptScanner("-s")); *************** *** 84,88 **** Hashtable table = scriptTag.getAttributes(); String srcExpected = (String)table.get("SRC"); ! assertEquals("Expected SRC value","../js/DetermineBrowser.js",srcExpected); } --- 85,89 ---- Hashtable table = scriptTag.getAttributes(); String srcExpected = (String)table.get("SRC"); ! assertEquals("Expected SRC value",src,srcExpected); } *************** *** 100,111 **** public void testScanBugWG() 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,"http://www.google.com/test/index.html"); --- 101,116 ---- public void testScanBugWG() throws ParserException { + StringBuffer sb2 = new StringBuffer(); + sb2.append("\r\nif(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"); + String testHTML2 = sb2.toString(); + StringBuffer sb1 = new StringBuffer(); ! sb1.append("<body><script language=\"javascript\">"); ! sb1.append(testHTML2); ! sb1.append("</script>"); ! String testHTML1 = sb1.toString(); createParser(testHTML1,"http://www.google.com/test/index.html"); *************** *** 116,126 **** parseAndAssertNodeCount(2); - StringBuffer sb2 = new StringBuffer(); - sb2.append("\r\nif(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"); - String testHTML2 = new String(sb2.toString()); - assertTrue("Node should be a script tag",node[1] instanceof ScriptTag); --- 121,124 ---- *************** *** 144,148 **** //parser.addScanner(new HTMLScriptScanner("-s")); ! parseAndAssertNodeCount(1); assertTrue("Node should be a script tag",node[0] instanceof ScriptTag); --- 142,146 ---- //parser.addScanner(new HTMLScriptScanner("-s")); ! parseAndAssertNodeCount(2); assertTrue("Node should be a script tag",node[0] instanceof ScriptTag); *************** *** 150,155 **** public void testScanScriptWithComments() throws ParserException { ! createParser("<SCRIPT Language=\"JavaScript\">\n"+ ! "<!--\n"+ " function validateForm()\n"+ " {\n"+ --- 148,152 ---- public void testScanScriptWithComments() throws ParserException { ! String expectedCode = "\n<!--\n"+ " function validateForm()\n"+ " {\n"+ *************** *** 159,163 **** " return true;\n"+ " }\n"+ ! "// -->\n"+ "</SCRIPT>","http://www.hardwareextreme.com/"); // Register the image scanner --- 156,161 ---- " return true;\n"+ " }\n"+ ! "// -->\n"; ! createParser("<SCRIPT Language=\"JavaScript\">"+expectedCode+ "</SCRIPT>","http://www.hardwareextreme.com/"); // Register the image scanner *************** *** 169,181 **** ScriptTag scriptTag = (ScriptTag)node[0]; String scriptCode = scriptTag.getScriptCode(); - String expectedCode = "\r\n<!--\r\n"+ - " function validateForm()\r\n"+ - " {\r\n"+ - " var i = 10;\r\n"+ - " if(i < 5)\r\n"+ - " i = i - 1 ; \r\n"+ - " return true;\r\n"+ - " }\r\n"+ - "// -->\r\n"; assertStringEquals("Expected Code",expectedCode,scriptCode); } --- 167,170 ---- *************** *** 558,563 **** public void testScanScriptWithTagsInComment() throws ParserException { ! String javascript = "// This is javascript with <li> tag in the comment"; ! createParser("<script>\n"+ javascript + "\n</script>"); parser.registerScanners(); parseAndAssertNodeCount(1); --- 547,552 ---- public void testScanScriptWithTagsInComment() throws ParserException { ! String javascript = "\n// This is javascript with <li> tag in the comment\n"; ! createParser("<script>"+ javascript + "</script>"); parser.registerScanners(); parseAndAssertNodeCount(1); *************** *** 565,583 **** ScriptTag scriptTag = (ScriptTag)node[0]; String scriptCode = scriptTag.getScriptCode(); ! String expectedCode = ! wrapLineSeperatorAround(javascript); ! assertStringEquals("Expected Code",expectedCode,scriptCode); ! } ! ! private String wrapLineSeperatorAround(String javascript) { ! return Parser.getLineSeparator()+javascript+Parser.getLineSeparator(); } public void testScanScriptWithJavascriptLineEndings() throws ParserException { String javascript = "var s = \"This is a string \\\n" + ! "that spans multiple lines;"; ! createParser("<script>\n"+ javascript + "\n</script>"); ! Parser.setLineSeparator("\n"); parser.registerScanners(); parseAndAssertNodeCount(1); --- 554,566 ---- ScriptTag scriptTag = (ScriptTag)node[0]; String scriptCode = scriptTag.getScriptCode(); ! assertStringEquals("Expected Code",javascript,scriptCode); } public void testScanScriptWithJavascriptLineEndings() throws ParserException { String javascript = + "\n" + "var s = \"This is a string \\\n" + ! "that spans multiple lines;\"\n"; ! createParser("<script>"+ javascript + "</script>"); parser.registerScanners(); parseAndAssertNodeCount(1); *************** *** 585,598 **** ScriptTag scriptTag = (ScriptTag)node[0]; String scriptCode = scriptTag.getScriptCode(); ! ! String expectedCode = ! wrapLineSeperatorAround(javascript); ! assertStringEquals("Expected Code",expectedCode,scriptCode); } public void testScanScriptWithTags() throws ParserException { ! String javascript = "Anything inside the script tag should be unchanged, even <li> and other html tags"; ! createParser("<script>\n"+ javascript + "\n</script>"); parser.registerScanners(); parseAndAssertNodeCount(1); --- 568,578 ---- ScriptTag scriptTag = (ScriptTag)node[0]; String scriptCode = scriptTag.getScriptCode(); ! assertStringEquals("Expected Code",javascript,scriptCode); } public void testScanScriptWithTags() throws ParserException { ! String javascript = "\nAnything inside the script tag should be unchanged, even <li> and other html tags\n"; ! createParser("<script>"+ javascript + "</script>"); parser.registerScanners(); parseAndAssertNodeCount(1); *************** *** 600,606 **** ScriptTag scriptTag = (ScriptTag)node[0]; String scriptCode = scriptTag.getScriptCode(); ! String expectedCode = ! wrapLineSeperatorAround(javascript); ! assertStringEquals("Expected Code",expectedCode,scriptCode); } --- 580,584 ---- ScriptTag scriptTag = (ScriptTag)node[0]; String scriptCode = scriptTag.getScriptCode(); ! assertStringEquals("Expected Code",javascript,scriptCode); } Index: TagScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/TagScannerTest.java,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** TagScannerTest.java 28 Sep 2003 15:33:59 -0000 1.30 --- TagScannerTest.java 5 Oct 2003 13:49:54 -0000 1.31 *************** *** 31,36 **** --- 31,38 ---- import org.htmlparser.Node; import org.htmlparser.Parser; + import org.htmlparser.lexer.Lexer; import org.htmlparser.scanners.TagScanner; import org.htmlparser.tags.Tag; + import org.htmlparser.tags.data.TagData; import org.htmlparser.tests.ParserTestCase; import org.htmlparser.util.NodeIterator; *************** *** 53,98 **** public void testExtractXMLData() throws ParserException { ! fail ("not implemented"); ! // createParser( ! // "<MESSAGE>\n"+ ! // "Abhi\n"+ ! // "Sri\n"+ ! // "</MESSAGE>"); ! // Parser.setLineSeparator("\r\n"); ! // NodeIterator e = parser.elements(); ! // ! // Node node = e.nextNode(); ! // try { ! // String result = TagScanner.extractXMLData(node,"MESSAGE",parser.getReader()); ! // assertEquals("Result","Abhi\r\nSri\r\n",result); ! // } ! // catch (ParserException ex) { ! // assertTrue(e.toString(),false); ! // } } public void testExtractXMLDataSingle() throws ParserException { ! fail ("not implemented"); ! // createParser( ! // "<MESSAGE>Test</MESSAGE>"); ! // NodeIterator e = parser.elements(); ! // ! // Node node = (Node)e.nextNode(); ! // try { ! // String result = TagScanner.extractXMLData(node,"MESSAGE",parser.getReader()); ! // assertEquals("Result","Test",result); ! // } ! // catch (ParserException ex) { ! // assertTrue(e.toString(),false); ! // } } ! public void testTagExtraction() { ! fail ("not implemented"); ! // String testHTML = "<AREA \n coords=0,0,52,52 href=\"http://www.yahoo.com/r/c1\" shape=RECT>"; ! // createParser(testHTML); ! // Tag tag = Tag.find(parser.getReader(),testHTML,0); ! // assertNotNull(tag); } --- 55,97 ---- public void testExtractXMLData() throws ParserException { ! createParser( ! "<MESSAGE>\n"+ ! "Abhi\n"+ ! "Sri\n"+ ! "</MESSAGE>"); ! Parser.setLineSeparator("\r\n"); ! NodeIterator e = parser.elements(); ! ! Node node = e.nextNode(); ! try { ! String result = TagScanner.extractXMLData (node, "MESSAGE", e); ! assertEquals("Result","\nAbhi\nSri\n",result); ! } ! catch (ParserException ex) { ! assertTrue(e.toString(),false); ! } } public void testExtractXMLDataSingle() throws ParserException { ! createParser( ! "<MESSAGE>Test</MESSAGE>"); ! NodeIterator e = parser.elements(); ! ! Node node = (Node)e.nextNode(); ! try { ! String result = TagScanner.extractXMLData (node, "MESSAGE", e); ! assertEquals("Result","Test",result); ! } ! catch (ParserException ex) { ! assertTrue(e.toString(),false); ! } } ! public void testTagExtraction() throws ParserException { ! String testHTML = "<AREA \n coords=0,0,52,52 href=\"http://www.yahoo.com/r/c1\" shape=RECT>"; ! createParser(testHTML); ! Tag tag = (Tag)parser.elements ().nextNode (); ! assertNotNull(tag); } *************** *** 117,132 **** public void testRemoveChars2() { ! fail ("not implemented"); ! // String test = "hello\r\nworld\r\n\tqsdsds"; ! // TagScanner scanner = new TagScanner() { ! // public Tag scan(Tag tag,String url,NodeReader reader,String currLine) { return null;} ! // public boolean evaluate(String s,TagScanner previousOpenScanner) { return false; } ! // public String [] getID() { ! // return null; ! // } ! // ! // }; ! // String result = scanner.removeChars(test,"\r\n"); ! // assertEquals("Removing Chars","helloworld\tqsdsds",result); } --- 116,128 ---- public void testRemoveChars2() { ! String test = "hello\r\nworld\r\n\tqsdsds"; ! TagScanner scanner = new TagScanner() { ! public Tag scan(Tag tag,String url,Lexer lexer) { return null;} ! public boolean evaluate(String s,TagScanner previousOpenScanner) { return false; } ! public String [] getID() { return null; } ! protected Tag createTag(TagData tagData, Tag tag, String url) { return null; } ! }; ! String result = scanner.removeChars(test,"\r\n"); ! assertEquals("Removing Chars","helloworld\tqsdsds",result); } Index: TitleScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/TitleScannerTest.java,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** TitleScannerTest.java 22 Sep 2003 02:40:11 -0000 1.28 --- TitleScannerTest.java 5 Oct 2003 13:49:54 -0000 1.29 *************** *** 86,90 **** TitleScanner titleScanner = new TitleScanner("-t"); parser.addScanner(titleScanner); ! parseAndAssertNodeCount(7); assertTrue("Third tag should be a title tag",node[2] instanceof TitleTag); TitleTag titleTag = (TitleTag)node[2]; --- 86,90 ---- TitleScanner titleScanner = new TitleScanner("-t"); parser.addScanner(titleScanner); ! parseAndAssertNodeCount(8); assertTrue("Third tag should be a title tag",node[2] instanceof TitleTag); TitleTag titleTag = (TitleTag)node[2]; |