[Htmlparser-cvs] htmlparser/src/org/htmlparser/tests/scannersTests LabelScannerTest.java,1.16,1.17
Brought to you by:
derrickoswald
From: <der...@us...> - 2003-05-10 01:15:03
|
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()}); + } + } |