// HTMLParser Library $Name: v1_6 $ - A java-based parser for HTML // http://sourceforge.org/projects/htmlparser // Copyright (C) 2003 Derrick Oswald // // Revision Control Information // // $Source: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/tagTests/LabelTagTest.java,v $ // $Author: derrickoswald $ // $Date: 2006/06/04 19:17:20 $ // $Revision: 1.2 $ // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // package org.htmlparser.tests.tagTests; import java.util.Hashtable; import org.htmlparser.tags.LabelTag; import org.htmlparser.tests.ParserTestCase; import org.htmlparser.util.ParserException; public class LabelTagTest extends ParserTestCase { static { System.setProperty ("org.htmlparser.tests.tagTests.LabelTagTest", "LabelTagTest"); } public LabelTagTest (String name) { super(name); } public void testSimpleLabels() throws ParserException { String html = "<label>This is a label tag</label>"; createParser(html); parseAndAssertNodeCount(1); assertTrue(node[0] instanceof LabelTag); // 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", html, labelTag.toHtml()); } public void testLabelWithJspTag() throws ParserException { String label = "<label><%=labelValue%></label>"; createParser(label); parseAndAssertNodeCount(1); assertTrue(node[0] instanceof LabelTag); // check the title node LabelTag labelTag = (LabelTag) node[0]; assertStringEquals("Label",label,labelTag.toHtml()); } public void testLabelWithOtherTags() throws ParserException { String html = "<label><span>Span within label</span></label>"; createParser(html); parseAndAssertNodeCount(1); assertTrue(node[0] instanceof LabelTag); // check the title node LabelTag labelTag = (LabelTag) node[0]; assertEquals("Label value","Span within label",labelTag.getLabel()); assertStringEquals("Label", html, labelTag.toHtml()); } public void testLabelWithManyCompositeTags() throws ParserException { String guts = "<span>Jane <b> Doe </b> Smith</span>"; String html = "<label>" + guts + "</label>"; createParser(html); parseAndAssertNodeCount(1); assertTrue(node[0] instanceof LabelTag); LabelTag labelTag = (LabelTag) node[0]; assertEquals("Label value",guts,labelTag.getChildrenHTML()); assertEquals("Label value","Jane Doe Smith",labelTag.getLabel()); assertStringEquals("Label",html,labelTag.toHtml()); } public void testLabelsID() throws ParserException { String html = "<label>John Doe</label>"; createParser(html); parseAndAssertNodeCount(1); assertTrue(node[0] instanceof LabelTag); LabelTag labelTag = (LabelTag) node[0]; assertStringEquals("Label", html, labelTag.toHtml()); assertNull("ID",labelTag.getAttribute("id")); } public void testNestedLabels() throws ParserException { String label1 = "<label id=\"attr1\">"; String label2 = "<label>Jane Doe"; createParser(label1 + label2); parseAndAssertNodeCount(2); assertTrue(node[0] instanceof LabelTag); assertTrue(node[1] instanceof LabelTag); LabelTag labelTag = (LabelTag) node[0]; assertStringEquals("Label", label1 + "</label>", labelTag.toHtml()); labelTag = (LabelTag) node[1]; assertStringEquals("Label", label2 + "</label>",labelTag.toHtml()); assertNull("ID",labelTag.getAttribute("id")); } public void testNestedLabels2() throws ParserException { String label1 = "<LABEL value=\"Google Search\">Google</LABEL>"; String label2 = "<LABEL value=\"AltaVista Search\">AltaVista"; String label3 = "<LABEL value=\"Lycos Search\"></LABEL>"; String label4 = "<LABEL>Yahoo!</LABEL>"; String label5 = "<LABEL>\nHotmail</LABEL>"; String label6 = "<LABEL value=\"ICQ Messenger\">"; String label7 = "<LABEL>Mailcity\n</LABEL>"; String label8 = "<LABEL>\nIndiatimes\n</LABEL>"; String label9 = "<LABEL>\nRediff\n</LABEL>"; String label10 = "<LABEL>Cricinfo"; String label11 = "<LABEL value=\"Microsoft Passport\">"; String label12 = "<LABEL value=\"AOL\"><SPAN>AOL</SPAN></LABEL>"; String label13 = "<LABEL value=\"Time Warner\">Time <B>Warner <SPAN>AOL </SPAN>Inc.</B>"; String testHTML = label1 + label2 + label3 + label4 + label5 + label6 + label7 + label8 + label9 + label10 + label11 + label12 + label13; createParser(testHTML); parseAndAssertNodeCount(13); LabelTag LabelTag; LabelTag = (LabelTag) node[0]; assertStringEquals("HTML String", label1, LabelTag.toHtml()); LabelTag = (LabelTag) node[1]; assertStringEquals("HTML String", label2 + "</LABEL>", LabelTag.toHtml()); LabelTag = (LabelTag) node[2]; assertStringEquals("HTML String", label3, LabelTag.toHtml()); LabelTag = (LabelTag) node[3]; assertStringEquals("HTML String", label4, LabelTag.toHtml()); LabelTag = (LabelTag) node[4]; assertStringEquals("HTML String", label5, LabelTag.toHtml()); LabelTag = (LabelTag) node[5]; assertStringEquals("HTML String", label6 + "</LABEL>",LabelTag.toHtml()); LabelTag = (LabelTag) node[6]; assertStringEquals("HTML String", label7, LabelTag.toHtml()); LabelTag = (LabelTag) node[7]; assertStringEquals("HTML String", label8, LabelTag.toHtml()); LabelTag = (LabelTag) node[8]; assertStringEquals("HTML String", label9, LabelTag.toHtml()); LabelTag = (LabelTag) node[9]; assertStringEquals("HTML String", label10 + "</LABEL>",LabelTag.toHtml()); LabelTag = (LabelTag) node[10]; assertStringEquals("HTML String", label11 + "</LABEL>",LabelTag.toHtml()); LabelTag = (LabelTag) node[11]; assertStringEquals("HTML String", label12, LabelTag.toHtml()); LabelTag = (LabelTag) node[12]; assertStringEquals("HTML String", label13 + "</LABEL>",LabelTag.toHtml()); } }