[Htmlparser-cvs] htmlparser/src/org/htmlparser/tests/scannersTests TitleScannerTest.java,1.31,1.32
Brought to you by:
derrickoswald
From: <der...@us...> - 2003-10-25 15:56:16
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests In directory sc8-pr-cvs1:/tmp/cvs-serv3232/tests/scannersTests Modified Files: TitleScannerTest.java Log Message: Handle some broken end tags. Handle some pathological remark nodes. Index: TitleScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/TitleScannerTest.java,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** TitleScannerTest.java 21 Oct 2003 02:24:01 -0000 1.31 --- TitleScannerTest.java 25 Oct 2003 15:46:03 -0000 1.32 *************** *** 28,34 **** --- 28,40 ---- package org.htmlparser.tests.scannersTests; + + import org.htmlparser.scanners.BodyScanner; + import org.htmlparser.scanners.HeadScanner; + import org.htmlparser.scanners.HtmlScanner; import org.htmlparser.scanners.MetaTagScanner; import org.htmlparser.scanners.StyleScanner; import org.htmlparser.scanners.TitleScanner; + import org.htmlparser.tags.HeadTag; + import org.htmlparser.tags.Html; import org.htmlparser.tags.TitleTag; import org.htmlparser.tests.ParserTestCase; *************** *** 66,79 **** */ public void testIncompleteTitle() throws ParserException { ! createParser( ! "<TITLE>SISTEMA TERRA, VOL. VI , No. 1-3, December 1997</TITLE\n"+ ! "</HEAD>"); ! TitleScanner titleScanner = new TitleScanner("-t"); ! parser.addScanner(titleScanner); ! parseAndAssertNodeCount(2); ! assertTrue("First Node is a title tag",node[0] instanceof TitleTag); ! TitleTag titleTag = (TitleTag)node[0]; assertEquals("Title","SISTEMA TERRA, VOL. VI , No. 1-3, December 1997",titleTag.getTitle()); ! } --- 72,102 ---- */ public void testIncompleteTitle() throws ParserException { ! String text = ! "<HTML>\n"+ ! "<HEAD>\n"+ ! // note the missing angle bracket on the close title: ! "<TITLE>SISTEMA TERRA, VOL. VI , No. 1-3, December 1997</TITLE\n"+ ! "</HEAD>\n"+ ! "<BODY>\n"+ ! "The body.\n"+ ! "</BODY>\n"+ ! "</HTML>"; ! createParser(text); ! parser.addScanner (new HtmlScanner ()); ! parser.addScanner (new TitleScanner ("-t")); ! parser.addScanner (new HeadScanner ()); ! parser.addScanner (new BodyScanner ()); ! parseAndAssertNodeCount(1); ! assertTrue ("Only node is a html tag",node[0] instanceof Html); ! Html html = (Html)node[0]; ! assertEquals ("Html node has five children", 5, html.getChildCount ()); ! assertTrue ("Second child is a head tag", html.childAt (1) instanceof HeadTag); ! HeadTag head = (HeadTag)html.childAt (1); ! assertEquals ("Head node has two children", 2, head.getChildCount ()); ! assertTrue ("Second child is a title tag", head.childAt (1) instanceof TitleTag); ! TitleTag titleTag = (TitleTag)head.childAt (1); assertEquals("Title","SISTEMA TERRA, VOL. VI , No. 1-3, December 1997",titleTag.getTitle()); ! // Note: this will fail because of the extra > inserted to finish the /TITLE tag: ! // assertStringEquals ("toHtml", text, html.toHtml ()); } *************** *** 91,97 **** 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]; assertEquals("Title","\nDouble tags can hang the code\n",titleTag.getTitle()); } --- 114,123 ---- TitleScanner titleScanner = new TitleScanner("-t"); parser.addScanner(titleScanner); ! parseAndAssertNodeCount(9); assertTrue("Third tag should be a title tag",node[2] instanceof TitleTag); TitleTag titleTag = (TitleTag)node[2]; + assertEquals("Title","\n",titleTag.getTitle()); + assertTrue("Fourth tag should be a title tag",node[3] instanceof TitleTag); + titleTag = (TitleTag)node[3]; assertEquals("Title","\nDouble tags can hang the code\n",titleTag.getTitle()); } |