Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests
In directory sc8-pr-cvs1:/tmp/cvs-serv11166/org/htmlparser/tests/scannersTests
Modified Files:
LabelScannerTest.java
Log Message:
For Dhaval:
Changed code and test case for LabelScanner.
Basically a string like <label>John Doe<label>Jane Doe</label>
gets parsed as
<LABEL>John Doe<LABEL>Jane Doe</LABEL></LABEL>
instead of
<LABEL>John Doe</LABEL><LABEL>Jane Doe</LABEL>
after call to toHtml() on the single LabelTag.
Also it is parsed as a single node instead of 2 distinct nodes.
Index: LabelScannerTest.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/LabelScannerTest.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** LabelScannerTest.java 5 May 2003 03:12:24 -0000 1.16
--- LabelScannerTest.java 10 May 2003 01:14:59 -0000 1.17
***************
*** 32,37 ****
package org.htmlparser.tests.scannersTests;
import junit.framework.TestSuite;
!
import org.htmlparser.scanners.LabelScanner;
import org.htmlparser.tags.LabelTag;
--- 32,39 ----
package org.htmlparser.tests.scannersTests;
+ import java.util.*;
import junit.framework.TestSuite;
! import org.htmlparser.Node;
! import org.htmlparser.StringNode;
import org.htmlparser.scanners.LabelScanner;
import org.htmlparser.tags.LabelTag;
***************
*** 52,55 ****
--- 54,58 ----
// check the title node
LabelTag labelTag = (LabelTag) node[0];
+ assertEquals("Label","This is a label tag",labelTag.getChildrenHTML());
assertEquals("Label","This is a label tag",labelTag.getLabel());
assertStringEquals("Label","<LABEL>This is a label tag</LABEL>",labelTag.toHtml());
***************
*** 84,89 ****
--- 87,144 ----
}
+ public void testLabelWithManyCompositeTags() throws ParserException {
+ createParser("<label><span>Jane <b> Doe </b> Smith</span></label>");
+ parser.registerScanners();
+ LabelScanner labelScanner = new LabelScanner("-l");
+ parser.addScanner(labelScanner);
+ parseAndAssertNodeCount(1);
+ assertTrue(node[0] instanceof LabelTag);
+ LabelTag labelTag = (LabelTag) node[0];
+ assertEquals("Label value","<SPAN>Jane <B> Doe </B> Smith</SPAN>",labelTag.getChildrenHTML());
+ assertEquals("Label value","Jane Doe Smith",labelTag.getLabel());
+ assertStringEquals("Label","<LABEL><SPAN>Jane <B> Doe </B> Smith</SPAN></LABEL>",labelTag.toHtml());
+ assertEquals("Label Scanner",labelScanner,labelTag.getThisScanner());
+ }
+
+
+ public void testLabelsID() throws ParserException {
+ createParser("<label>John Doe</label>");
+ parser.registerScanners();
+ LabelScanner labelScanner = new LabelScanner("-l");
+ parser.addScanner(labelScanner);
+ parseAndAssertNodeCount(1);
+ assertTrue(node[0] instanceof LabelTag);
+
+ LabelTag labelTag = (LabelTag) node[0];
+ assertStringEquals("Label","<LABEL>John Doe</LABEL>",labelTag.toHtml());
+ Hashtable attr = labelTag.getAttributes();
+ assertNull("ID",attr.get("id"));
+ }
+
+ public void testNestedLabels() throws ParserException {
+ createParser("<label>John Doe<label>Jane Doe</label>");
+ parser.registerScanners();
+ LabelScanner labelScanner = new LabelScanner("-l");
+ parser.addScanner(labelScanner);
+ parseAndAssertNodeCount(2);
+ assertTrue(node[0] instanceof LabelTag);
+ assertTrue(node[1] instanceof LabelTag);
+
+ LabelTag labelTag = (LabelTag) node[0];
+ assertStringEquals("Label","<LABEL>John Doe</LABEL>",labelTag.toHtml());
+ labelTag = (LabelTag) node[1];
+ assertStringEquals("Label","<LABEL>Jane Doe</LABEL>",labelTag.toHtml());
+ Hashtable attr = labelTag.getAttributes();
+ assertNull("ID",attr.get("id"));
+ }
+
public static TestSuite suite() {
return new TestSuite(LabelScannerTest.class);
}
+
+ public static void main(String[] args)
+ {
+ new junit.awtui.TestRunner().start(new String[] {LabelScannerTest.class.getName()});
+ }
+
}
|