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());
}
|