[Htmlparser-cvs] htmlparser/src/org/htmlparser/tests/scannersTests BodyScannerTest.java,1.16,1.17 Fo
Brought to you by:
derrickoswald
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests In directory sc8-pr-cvs1:/tmp/cvs-serv18855/src/org/htmlparser/tests/scannersTests Modified Files: BodyScannerTest.java FormScannerTest.java HtmlTest.java InputTagScannerTest.java LabelScannerTest.java LinkScannerTest.java MetaTagScannerTest.java OptionTagScannerTest.java SelectTagScannerTest.java TextareaTagScannerTest.java TitleScannerTest.java Log Message: Implement generic node filtering. Added the NodeFilter interface and the filter package. Sideline tag specific scanners; tags now use only one scanner of each type, TagScanner or CompositeTagScanner (except for ScriptScanner). Obviated PeekingIterator by moving the META tag semantics to doSemanticAction, much simpler, old IteratorImpl is now PeekingIteratorImpl but deprecated. Index: BodyScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/BodyScannerTest.java,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** BodyScannerTest.java 26 Oct 2003 19:46:26 -0000 1.16 --- BodyScannerTest.java 8 Nov 2003 21:30:57 -0000 1.17 *************** *** 59,63 **** assertEquals("Body","This is a body tag",bodyTag.getBody()); assertEquals("Body","<body>This is a body tag</body>",bodyTag.toHtml()); - assertEquals("Body Scanner",bodyScanner,bodyTag.getThisScanner()); } --- 59,62 ---- *************** *** 73,77 **** BodyTag bodyTag = (BodyTag) node[4]; assertStringEquals("Body",body,bodyTag.toHtml()); - assertEquals("Body Scanner",bodyScanner,bodyTag.getThisScanner()); } --- 72,75 ---- *************** *** 87,91 **** BodyTag bodyTag = (BodyTag) node[4]; assertEquals("Body",body,bodyTag.toHtml()); - assertEquals("Body Scanner",bodyScanner,bodyTag.getThisScanner()); } --- 85,88 ---- *************** *** 101,105 **** BodyTag bodyTag = (BodyTag) node[1]; assertEquals("Body",body + "</body>",bodyTag.toHtml()); - assertEquals("Body Scanner",bodyScanner,bodyTag.getThisScanner()); } --- 98,101 ---- Index: FormScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/FormScannerTest.java,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** FormScannerTest.java 1 Nov 2003 21:55:43 -0000 1.40 --- FormScannerTest.java 8 Nov 2003 21:30:57 -0000 1.41 *************** *** 309,313 **** for (NodeIterator e = parser.elements(); e.hasMoreNodes();) nodes[i++] = e.nextNode(); ! assertEquals ("Expected nodes", 40, i); } } --- 309,313 ---- for (NodeIterator e = parser.elements(); e.hasMoreNodes();) nodes[i++] = e.nextNode(); ! assertEquals ("Expected nodes", 39, i); } } Index: HtmlTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/HtmlTest.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** HtmlTest.java 26 Oct 2003 19:46:26 -0000 1.13 --- HtmlTest.java 8 Nov 2003 21:30:57 -0000 1.14 *************** *** 30,33 **** --- 30,34 ---- import org.htmlparser.Node; + import org.htmlparser.filters.NodeClassFilter; import org.htmlparser.scanners.HtmlScanner; import org.htmlparser.scanners.TitleScanner; *************** *** 64,68 **** Html html = (Html)node[0]; NodeList nodeList = new NodeList(); ! html.collectInto(nodeList, TitleTag.class); assertEquals("nodelist size",1,nodeList.size()); Node node = nodeList.elementAt(0); --- 65,70 ---- Html html = (Html)node[0]; NodeList nodeList = new NodeList(); ! NodeClassFilter filter = new NodeClassFilter (TitleTag.class); ! html.collectInto(nodeList, filter); assertEquals("nodelist size",1,nodeList.size()); Node node = nodeList.elementAt(0); Index: InputTagScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/InputTagScannerTest.java,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** InputTagScannerTest.java 26 Oct 2003 19:46:26 -0000 1.29 --- InputTagScannerTest.java 8 Nov 2003 21:30:57 -0000 1.30 *************** *** 59,63 **** // check the input node InputTag inputTag = (InputTag) node[0]; - assertEquals("Input Scanner",scanner,inputTag.getThisScanner()); assertEquals("Type","text",inputTag.getAttribute("TYPE")); assertEquals("Name","Google",inputTag.getAttribute("NAME")); --- 59,62 ---- Index: LabelScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/LabelScannerTest.java,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** LabelScannerTest.java 1 Nov 2003 04:03:21 -0000 1.41 --- LabelScannerTest.java 8 Nov 2003 21:30:57 -0000 1.42 *************** *** 62,66 **** assertEquals("Label","This is a label tag",labelTag.getLabel()); assertStringEquals("Label", html, labelTag.toHtml()); - assertEquals("Label Scanner",labelScanner,labelTag.getThisScanner()); } --- 62,65 ---- *************** *** 76,80 **** LabelTag labelTag = (LabelTag) node[0]; assertStringEquals("Label",label,labelTag.toHtml()); - assertEquals("Label Scanner",labelScanner,labelTag.getThisScanner()); } --- 75,78 ---- *************** *** 92,96 **** assertEquals("Label value","Span within label",labelTag.getLabel()); assertStringEquals("Label", html, labelTag.toHtml()); - assertEquals("Label Scanner",labelScanner,labelTag.getThisScanner()); } --- 90,93 ---- *************** *** 108,112 **** assertEquals("Label value","Jane Doe Smith",labelTag.getLabel()); assertStringEquals("Label",html,labelTag.toHtml()); - assertEquals("Label Scanner",labelScanner,labelTag.getThisScanner()); } --- 105,108 ---- Index: LinkScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/LinkScannerTest.java,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** LinkScannerTest.java 29 Oct 2003 03:31:18 -0000 1.47 --- LinkScannerTest.java 8 Nov 2003 21:30:57 -0000 1.48 *************** *** 299,319 **** * tag - <A>Revision<\a> * Reported by Mazlan Mat */ ! public void testFreshMeatBug() throws ParserException { ! createParser("<a>Revision</a>","http://www.yahoo.com"); ! // Register the image scanner parser.addScanner(new LinkScanner("-l")); ! parseAndAssertNodeCount(3); assertTrue("Node 0 should be a tag",node[0] instanceof Tag); Tag tag = (Tag)node[0]; ! assertEquals("Tag Contents","a",tag.getText()); ! assertTrue("Node 1 should be a string node",node[1] instanceof StringNode); ! StringNode stringNode = (StringNode)node[1]; assertEquals("StringNode Contents","Revision",stringNode.getText()); - assertTrue("Node 2 should be an end tag",node[2] instanceof Tag); - tag = (Tag)node[2]; - assertTrue("Node 2 should be an end tag",tag.isEndTag ()); - assertEquals("End Tag Contents","/a",tag.getText()); } --- 299,319 ---- * tag - <A>Revision<\a> * Reported by Mazlan Mat + * Note: Actually, this is completely legal HTML - Derrick */ ! public void testFreshMeatBug() throws ParserException ! { ! String html = "<a>Revision</a>"; ! createParser(html,"http://www.yahoo.com"); ! // Register the link scanner parser.addScanner(new LinkScanner("-l")); ! parseAndAssertNodeCount(1); assertTrue("Node 0 should be a tag",node[0] instanceof Tag); Tag tag = (Tag)node[0]; ! assertEquals("Tag Contents",html,tag.toHtml()); ! assertEquals("Node 0 should have one child", 1, tag.getChildren ().size ()); ! assertTrue("The child should be a string node", tag.getChildren ().elementAt (0) instanceof StringNode); ! StringNode stringNode = (StringNode)tag.getChildren ().elementAt (0); assertEquals("StringNode Contents","Revision",stringNode.getText()); } Index: MetaTagScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/MetaTagScannerTest.java,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** MetaTagScannerTest.java 26 Oct 2003 19:46:26 -0000 1.34 --- MetaTagScannerTest.java 8 Nov 2003 21:30:57 -0000 1.35 *************** *** 95,100 **** assertEquals("Meta Tag 18 Contents","text/html; charset=ISO-8859-1",metaTag.getMetaContent()); assertEquals("Meta Tag 18 Http-Equiv","content-type",metaTag.getHttpEquiv()); - - assertEquals("This Scanner",scanner,metaTag.getThisScanner()); } --- 95,98 ---- Index: OptionTagScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/OptionTagScannerTest.java,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** OptionTagScannerTest.java 28 Oct 2003 03:04:19 -0000 1.33 --- OptionTagScannerTest.java 8 Nov 2003 21:30:57 -0000 1.34 *************** *** 74,79 **** continue; assertTrue("Node " + j + " should be Option Tag",node[j] instanceof OptionTag); - OptionTag OptionTag = (OptionTag) node[j]; - assertEquals("Option Scanner",scanner,OptionTag.getThisScanner()); } } --- 74,77 ---- Index: SelectTagScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/SelectTagScannerTest.java,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** SelectTagScannerTest.java 28 Oct 2003 03:04:19 -0000 1.32 --- SelectTagScannerTest.java 8 Nov 2003 21:30:57 -0000 1.33 *************** *** 75,90 **** parseAndAssertNodeCount(5); - assertTrue(node[0] instanceof SelectTag); - assertTrue(node[1] instanceof SelectTag); - assertTrue(node[2] instanceof SelectTag); - assertTrue(node[3] instanceof SelectTag); - assertTrue(node[4] instanceof SelectTag); // check the Select node for(int j=0;j<nodeCount;j++) ! { ! SelectTag SelectTag = (SelectTag) node[j]; ! assertEquals("Select Scanner",scanner,SelectTag.getThisScanner()); ! } SelectTag selectTag = (SelectTag)node[0]; --- 75,82 ---- parseAndAssertNodeCount(5); // check the Select node for(int j=0;j<nodeCount;j++) ! assertTrue(node[j] instanceof SelectTag); SelectTag selectTag = (SelectTag)node[0]; Index: TextareaTagScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/TextareaTagScannerTest.java,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** TextareaTagScannerTest.java 28 Oct 2003 03:04:19 -0000 1.30 --- TextareaTagScannerTest.java 8 Nov 2003 21:30:57 -0000 1.31 *************** *** 64,79 **** parser.addScanner(scanner); parseAndAssertNodeCount(5); - assertTrue(node[0] instanceof TextareaTag); - assertTrue(node[1] instanceof TextareaTag); - assertTrue(node[2] instanceof TextareaTag); - assertTrue(node[3] instanceof TextareaTag); - assertTrue(node[4] instanceof TextareaTag); // check the Textarea node for(int j=0;j<nodeCount;j++) ! { ! TextareaTag TextareaTag = (TextareaTag) node[j]; ! assertEquals("Textarea Scanner",scanner,TextareaTag.getThisScanner()); ! } } } --- 64,71 ---- parser.addScanner(scanner); parseAndAssertNodeCount(5); // check the Textarea node for(int j=0;j<nodeCount;j++) ! assertTrue(node[j] instanceof TextareaTag); } } Index: TitleScannerTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/TitleScannerTest.java,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** TitleScannerTest.java 26 Oct 2003 19:46:27 -0000 1.33 --- TitleScannerTest.java 8 Nov 2003 21:30:57 -0000 1.34 *************** *** 63,67 **** TitleTag titleTag = (TitleTag) node[2]; assertEquals("Title","Yahoo!",titleTag.getTitle()); - assertEquals("Title Scanner",titleScanner,titleTag.getThisScanner()); } --- 63,66 ---- |