htmlparser-cvs Mailing List for HTML Parser (Page 61)
Brought to you by:
derrickoswald
You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(141) |
Jun
(108) |
Jul
(66) |
Aug
(127) |
Sep
(155) |
Oct
(149) |
Nov
(72) |
Dec
(72) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(100) |
Feb
(36) |
Mar
(21) |
Apr
(3) |
May
(87) |
Jun
(28) |
Jul
(84) |
Aug
(5) |
Sep
(14) |
Oct
|
Nov
|
Dec
|
| 2005 |
Jan
(1) |
Feb
(39) |
Mar
(26) |
Apr
(38) |
May
(14) |
Jun
(10) |
Jul
|
Aug
|
Sep
(13) |
Oct
(8) |
Nov
(10) |
Dec
|
| 2006 |
Jan
|
Feb
(1) |
Mar
(17) |
Apr
(20) |
May
(28) |
Jun
(24) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2015 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <der...@us...> - 2003-05-11 20:42:33
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/parserHelperTests
In directory sc8-pr-cvs1:/tmp/cvs-serv22446/org/htmlparser/tests/parserHelperTests
Modified Files:
AttributeParserTest.java TagParserTest.java
Log Message:
Moved pending bugs to the 'feature request' tracker,
and made the failing unit tests execution conditional on the Parser version being >= 1.4.
Index: AttributeParserTest.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/parserHelperTests/AttributeParserTest.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** AttributeParserTest.java 5 May 2003 03:12:24 -0000 1.24
--- AttributeParserTest.java 11 May 2003 20:42:30 -0000 1.25
***************
*** 31,34 ****
--- 31,35 ----
import java.util.Hashtable;
+ import org.htmlparser.Parser;
import org.htmlparser.parserHelper.AttributeParser;
import org.htmlparser.tags.Tag;
***************
*** 131,150 ****
}
- /**
- * attributes are not parsed correctly, when they contain
- * scriptlets.
- * Submitted by Cory Seefurth
- */
- public void testJspWithinAttributes() {
- getParameterTableFor(
- "a href=\"<%=Application(\"sURL\")%>/literature/index.htm"
- );
- assertStringEquals(
- "href",
- "<%=Application(\"sURL\")%>/literature/index.htm",
- (String)table.get("HREF")
- );
- }
-
public void testQuestionMarksInAttributes() {
getParameterTableFor(
--- 132,135 ----
***************
*** 178,190 ****
/**
! * Case of script in attributes.
*/
! public void testScriptedTag () {
! getParameterTableFor("body onLoad=defaultStatus=''");
! String name = (String)table.get(Tag.TAGNAME);
! assertNotNull ("No Tag.TAGNAME", name);
! assertStringEquals("tag name parsed incorrectly", "BODY", name);
! String value = (String)table.get ("ONLOAD");
! assertStringEquals ("parameter parsed incorrectly", "defaultStatus=''", value);
}
}
--- 163,208 ----
/**
! * Test attributes when they contain scriptlets.
! * Submitted by Cory Seefurth
! * See also feature request #725376 Handle script in attributes.
! * Only perform this test if it's version 1.4 or higher.
*/
! public void testJspWithinAttributes()
! {
! Parser parser;
!
! parser = new Parser ();
! if (1.4 <= Double.parseDouble (parser.getVersion ().substring (0, parser.getVersion ().indexOf (' '))))
! {
! getParameterTableFor(
! "a href=\"<%=Application(\"sURL\")%>/literature/index.htm"
! );
! assertStringEquals(
! "href",
! "<%=Application(\"sURL\")%>/literature/index.htm",
! (String)table.get("HREF")
! );
! }
! }
!
! /**
! * Test Script in attributes.
! * See feature request #725376 Handle script in attributes.
! * Only perform this test if it's version 1.4 or higher.
! */
! public void testScriptedTag ()
! {
! Parser parser;
!
! parser = new Parser ();
! if (1.4 <= Double.parseDouble (parser.getVersion ().substring (0, parser.getVersion ().indexOf (' '))))
! {
! getParameterTableFor("body onLoad=defaultStatus=''");
! String name = (String)table.get(Tag.TAGNAME);
! assertNotNull ("No Tag.TAGNAME", name);
! assertStringEquals("tag name parsed incorrectly", "BODY", name);
! String value = (String)table.get ("ONLOAD");
! assertStringEquals ("parameter parsed incorrectly", "defaultStatus=''", value);
! }
}
}
Index: TagParserTest.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/parserHelperTests/TagParserTest.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** TagParserTest.java 5 May 2003 03:12:24 -0000 1.24
--- TagParserTest.java 11 May 2003 20:42:30 -0000 1.25
***************
*** 199,253 ****
}
! /*
! <meta name="foo" content="<foo>
! bar">
! */
public void testMultiLine5 () throws ParserException
{
createParser("<meta name=\"foo\" content=\"<foo>\nbar\">");
! parseAndAssertNodeCount (1);
! assertType ("should be Tag", Tag.class, node[0]);
! Tag tag = (Tag)node[0];
! String html = tag.toHtml ();
! assertStringEquals ("html","<META CONTENT=\"<foo>\r\nbar\" NAME=\"foo\">", html);
! String attribute1 = tag.getAttribute ("NAME");
! assertStringEquals ("attribute 1","foo", attribute1);
! String attribute2 = tag.getAttribute ("CONTENT");
! assertStringEquals ("attribute 2","<foo>\r\nbar", attribute2);
}
! /**
! * <meta name="foo" content="foo>
! * bar">
! */
! public void testMultiLine6 () throws ParserException {
createParser("<meta name=\"foo\" content=\"foo>\nbar\">");
! parseAndAssertNodeCount (1);
! assertType ("should be Tag", Tag.class, node[0]);
! Tag tag = (Tag)node[0];
! String html = tag.toHtml ();
! assertStringEquals ("html","<META CONTENT=\"foo>\r\nbar\" NAME=\"foo\">", html);
! String attribute1 = tag.getAttribute ("NAME");
! assertStringEquals ("attribute 1","foo", attribute1);
! String attribute2 = tag.getAttribute ("CONTENT");
! assertStringEquals ("attribute 2","foo>\r\nbar", attribute2);
}
! /**
! * <meta name="foo" content="<foo
! * bar">
! */
public void testMultiLine7 () throws ParserException
{
createParser("<meta name=\"foo\" content=\"<foo\nbar\"");
! parseAndAssertNodeCount (1);
! assertType ("should be Tag", Tag.class, node[0]);
! Tag tag = (Tag)node[0];
! String html = tag.toHtml ();
! assertStringEquals ("html","<META CONTENT=\"<foo\r\nbar\" NAME=\"foo\">", html);
! String attribute1 = tag.getAttribute ("NAME");
! assertStringEquals ("attribute 1","foo", attribute1);
! String attribute2 = tag.getAttribute ("CONTENT");
! assertStringEquals ("attribute 2","<foo\r\nbar", attribute2);
}
--- 199,272 ----
}
! /**
! * Test multiline tag like attribute.
! * See feature request #725749 Handle < and > in multi-line attributes.
! * Only perform this test if it's version 1.4 or higher.
! */
public void testMultiLine5 () throws ParserException
{
+ // <meta name="foo" content="<foo>
+ // bar">
createParser("<meta name=\"foo\" content=\"<foo>\nbar\">");
! if (1.4 <= Double.parseDouble (parser.getVersion ().substring (0, parser.getVersion ().indexOf (' '))))
! {
! parseAndAssertNodeCount (1);
! assertType ("should be Tag", Tag.class, node[0]);
! Tag tag = (Tag)node[0];
! String html = tag.toHtml ();
! assertStringEquals ("html","<META CONTENT=\"<foo>\r\nbar\" NAME=\"foo\">", html);
! String attribute1 = tag.getAttribute ("NAME");
! assertStringEquals ("attribute 1","foo", attribute1);
! String attribute2 = tag.getAttribute ("CONTENT");
! assertStringEquals ("attribute 2","<foo>\r\nbar", attribute2);
! }
}
! /**
! * Test multiline broken tag like attribute.
! * See feature request #725749 Handle < and > in multi-line attributes.
! * Only perform this test if it's version 1.4 or higher.
! */
! public void testMultiLine6 () throws ParserException
! {
! // <meta name="foo" content="foo>
! // bar">
createParser("<meta name=\"foo\" content=\"foo>\nbar\">");
! if (1.4 <= Double.parseDouble (parser.getVersion ().substring (0, parser.getVersion ().indexOf (' '))))
! {
! parseAndAssertNodeCount (1);
! assertType ("should be Tag", Tag.class, node[0]);
! Tag tag = (Tag)node[0];
! String html = tag.toHtml ();
! assertStringEquals ("html","<META CONTENT=\"foo>\r\nbar\" NAME=\"foo\">", html);
! String attribute1 = tag.getAttribute ("NAME");
! assertStringEquals ("attribute 1","foo", attribute1);
! String attribute2 = tag.getAttribute ("CONTENT");
! assertStringEquals ("attribute 2","foo>\r\nbar", attribute2);
! }
}
! /**
! * Test multiline split tag like attribute.
! * See feature request #725749 Handle < and > in multi-line attributes.
! * Only perform this test if it's version 1.4 or higher.
! */
public void testMultiLine7 () throws ParserException
{
+ // <meta name="foo" content="<foo
+ // bar">
createParser("<meta name=\"foo\" content=\"<foo\nbar\"");
! if (1.4 <= Double.parseDouble (parser.getVersion ().substring (0, parser.getVersion ().indexOf (' '))))
! {
! parseAndAssertNodeCount (1);
! assertType ("should be Tag", Tag.class, node[0]);
! Tag tag = (Tag)node[0];
! String html = tag.toHtml ();
! assertStringEquals ("html","<META CONTENT=\"<foo\r\nbar\" NAME=\"foo\">", html);
! String attribute1 = tag.getAttribute ("NAME");
! assertStringEquals ("attribute 1","foo", attribute1);
! String attribute2 = tag.getAttribute ("CONTENT");
! assertStringEquals ("attribute 2","<foo\r\nbar", attribute2);
! }
}
***************
*** 256,321 ****
*/
! public void testThreadSafety() throws Exception {
!
! String testHtml1 = "<a HREF=\"/cgi-bin/view_search?query_text=postdate>20020701&txt_clr=White&bg_clr=Red&url=http://localhost/Testing/Report1.html\">20020702 Report 1</A>" +
! TEST_HTML;
!
! String testHtml2 = "<a href=\"http://normallink.com/sometext.html\">" +
! TEST_HTML;
! ParsingThread parsingThread [] =
! new ParsingThread[100];
! results = new HashMap();
! testProgress = 0;
! for (int i=0;i<parsingThread.length;i++) {
! if (i<parsingThread.length/2)
! parsingThread[i] =
! new ParsingThread(i,testHtml1,parsingThread.length);
! else
! parsingThread[i] =
! new ParsingThread(i,testHtml2,parsingThread.length);
!
! Thread thread = new Thread(parsingThread[i]);
! thread.start();
! }
!
! int completionValue = computeCompletionValue(parsingThread.length);
!
! do {
! try {
! Thread.sleep(50);
! }
! catch (InterruptedException e) {
! }
! }
! while (testProgress!=completionValue);
! for (int i=0;i<parsingThread.length;i++) {
! if (!parsingThread[i].passed()) {
! assertNotNull("Thread "+i+" link 1",parsingThread[i].getLink1());
! assertNotNull("Thread "+i+" link 2",parsingThread[i].getLink2());
! if (i<parsingThread.length/2) {
! assertStringEquals(
! "Thread "+i+", link 1:",
! "/cgi-bin/view_search?query_text=postdate>20020701&txt_clr=White&bg_clr=Red&url=http://localhost/Testing/Report1.html",
! parsingThread[i].getLink1().getLink()
! );
! assertStringEquals(
! "Thread "+i+", link 2:",
! "http://normallink.com/sometext.html",
! parsingThread[i].getLink2().getLink()
! );
! } else {
! assertStringEquals(
! "Thread "+i+", link 1:",
! "http://normallink.com/sometext.html",
! parsingThread[i].getLink1().getLink()
! );
! assertNotNull("Thread "+i+" link 2",parsingThread[i].getLink2());
! assertStringEquals(
! "Thread "+i+", link 2:",
! "/cgi-bin/view_search?query_text=postdate>20020701&txt_clr=White&bg_clr=Red&url=http://localhost/Testing/Report1.html",
! parsingThread[i].getLink2().getLink()
! );
! }
! }
}
--- 275,349 ----
*/
! /**
! * Test multiple threads running against the parser.
! * See feature request #736144 Handle multi-threaded operation.
! * Only perform this test if it's version 1.4 or higher.
! */
! public void testThreadSafety() throws Exception
! {
! createParser("<html></html>");
! if (1.4 <= Double.parseDouble (parser.getVersion ().substring (0, parser.getVersion ().indexOf (' '))))
! {
! String testHtml1 = "<a HREF=\"/cgi-bin/view_search?query_text=postdate>20020701&txt_clr=White&bg_clr=Red&url=http://localhost/Testing/Report1.html\">20020702 Report 1</A>" +
! TEST_HTML;
!
! String testHtml2 = "<a href=\"http://normallink.com/sometext.html\">" +
! TEST_HTML;
! ParsingThread parsingThread [] =
! new ParsingThread[100];
! results = new HashMap();
! testProgress = 0;
! for (int i=0;i<parsingThread.length;i++) {
! if (i<parsingThread.length/2)
! parsingThread[i] =
! new ParsingThread(i,testHtml1,parsingThread.length);
! else
! parsingThread[i] =
! new ParsingThread(i,testHtml2,parsingThread.length);
!
! Thread thread = new Thread(parsingThread[i]);
! thread.start();
! }
!
! int completionValue = computeCompletionValue(parsingThread.length);
!
! do {
! try {
! Thread.sleep(50);
! }
! catch (InterruptedException e) {
! }
! }
! while (testProgress!=completionValue);
! for (int i=0;i<parsingThread.length;i++) {
! if (!parsingThread[i].passed()) {
! assertNotNull("Thread "+i+" link 1",parsingThread[i].getLink1());
! assertNotNull("Thread "+i+" link 2",parsingThread[i].getLink2());
! if (i<parsingThread.length/2) {
! assertStringEquals(
! "Thread "+i+", link 1:",
! "/cgi-bin/view_search?query_text=postdate>20020701&txt_clr=White&bg_clr=Red&url=http://localhost/Testing/Report1.html",
! parsingThread[i].getLink1().getLink()
! );
! assertStringEquals(
! "Thread "+i+", link 2:",
! "http://normallink.com/sometext.html",
! parsingThread[i].getLink2().getLink()
! );
! } else {
! assertStringEquals(
! "Thread "+i+", link 1:",
! "http://normallink.com/sometext.html",
! parsingThread[i].getLink1().getLink()
! );
! assertNotNull("Thread "+i+" link 2",parsingThread[i].getLink2());
! assertStringEquals(
! "Thread "+i+", link 2:",
! "/cgi-bin/view_search?query_text=postdate>20020701&txt_clr=White&bg_clr=Red&url=http://localhost/Testing/Report1.html",
! parsingThread[i].getLink2().getLink()
! );
! }
! }
! }
}
|
|
From: <der...@us...> - 2003-05-11 19:32:25
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests
In directory sc8-pr-cvs1:/tmp/cvs-serv32380/org/htmlparser/tests/scannersTests
Modified Files:
DivScannerTest.java
Log Message:
Added testcase for bug #735193 Explicit tag type recognition for CompositTags not working.
Index: DivScannerTest.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/DivScannerTest.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** DivScannerTest.java 11 May 2003 18:10:59 -0000 1.17
--- DivScannerTest.java 11 May 2003 19:32:22 -0000 1.18
***************
*** 61,65 ****
public void testInputInDiv() throws ParserException
{
! createParser("<div><INPUT type=\"text\" name=\"X\"></div>");
parser.addScanner(new DivScanner());
parser.addScanner(new InputTagScanner());
--- 61,65 ----
public void testInputInDiv() throws ParserException
{
! createParser("<div><INPUT type=\"text\" name=\"X\">Hello</INPUT></div>");
parser.addScanner(new DivScanner());
parser.addScanner(new InputTagScanner());
|
|
From: <der...@us...> - 2003-05-11 18:11:02
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests
In directory sc8-pr-cvs1:/tmp/cvs-serv30453/org/htmlparser/tests/scannersTests
Modified Files:
DivScannerTest.java
Log Message:
Added testcase for bug #735193 Explicit tag type recognition for CompositTags not working
Index: DivScannerTest.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/DivScannerTest.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** DivScannerTest.java 5 May 2003 03:12:24 -0000 1.16
--- DivScannerTest.java 11 May 2003 18:10:59 -0000 1.17
***************
*** 30,35 ****
--- 30,37 ----
import org.htmlparser.scanners.DivScanner;
+ import org.htmlparser.scanners.InputTagScanner;
import org.htmlparser.scanners.TableScanner;
import org.htmlparser.tags.Div;
+ import org.htmlparser.tags.InputTag;
import org.htmlparser.tags.TableTag;
import org.htmlparser.tests.ParserTestCase;
***************
*** 52,55 ****
--- 54,71 ----
Div div = (Div)tableTag.searchFor(Div.class).toNodeArray()[0];
assertEquals("div contents","some text",div.toPlainTextString());
+ }
+
+ /**
+ * Test case for bug #735193 Explicit tag type recognition for CompositTags not working.
+ */
+ public void testInputInDiv() throws ParserException
+ {
+ createParser("<div><INPUT type=\"text\" name=\"X\"></div>");
+ parser.addScanner(new DivScanner());
+ parser.addScanner(new InputTagScanner());
+ parseAndAssertNodeCount(1);
+ assertType("node should be div",Div.class,node[0]);
+ Div div = (Div)node[0];
+ assertType("child not input",InputTag.class,div.getChild (0));
}
}
|
|
From: <der...@us...> - 2003-05-11 04:48:15
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/tagTests
In directory sc8-pr-cvs1:/tmp/cvs-serv24541/org/htmlparser/tests/tagTests
Modified Files:
SelectTagTest.java
Log Message:
Fixed bug #735183 Problem in Label Scanning
A NodeReader now prepends the pre-read tags onto the internal list,
maintaining the correct order in recursively analysing unclosed tags.
Also fixed OptionTagScanner tag enders.
Index: SelectTagTest.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/tagTests/SelectTagTest.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** SelectTagTest.java 10 May 2003 01:47:11 -0000 1.14
--- SelectTagTest.java 11 May 2003 04:48:12 -0000 1.15
***************
*** 72,81 ****
{
assertStringEquals("HTML String","<SELECT NAME=\"Nominees\">\r\n"+
! "<OPTION VALUE=\"Spouse\">Spouse</OPTION>\r\n"+
"<OPTION VALUE=\"Father\"></OPTION>\r\n"+
"<OPTION VALUE=\"Mother\">Mother\r\n</OPTION>" +
! "<OPTION VALUE=\"Son\">Son\r\n</OPTION>\r\n"+
! "<OPTION VALUE=\"Daughter\">Daughter\r\n</OPTION>"+
! "<OPTION VALUE=\"Nephew\">Nephew</OPTION>\r\n"+
"<OPTION VALUE=\"Niece\">Niece\r\n</OPTION>"+
"</SELECT>",
--- 72,81 ----
{
assertStringEquals("HTML String","<SELECT NAME=\"Nominees\">\r\n"+
! "<OPTION VALUE=\"Spouse\">Spouse</OPTION>"+
"<OPTION VALUE=\"Father\"></OPTION>\r\n"+
"<OPTION VALUE=\"Mother\">Mother\r\n</OPTION>" +
! "<OPTION VALUE=\"Son\">\r\nSon\r\n</OPTION>"+
! "<OPTION VALUE=\"Daughter\">\r\nDaughter\r\n</OPTION>"+
! "<OPTION VALUE=\"Nephew\">\r\nNephew</OPTION>\r\n"+
"<OPTION VALUE=\"Niece\">Niece\r\n</OPTION>"+
"</SELECT>",
***************
*** 90,100 ****
selectTag = (SelectTag) node[0];
assertStringEquals("HTML Raw String","SELECT TAG\n--------\nNAME : Nominees\n" +
! "OPTION TAG\n--------\nVALUE : Spouse\nTEXT : Spouse\n\n" +
! "OPTION TAG\n--------\nVALUE : Father\nTEXT : \n\n" +
! "OPTION TAG\n--------\nVALUE : Mother\nTEXT : Mother\r\n\n\n" +
! "OPTION TAG\n--------\nVALUE : Son\nTEXT : Son\r\n\n\n" +
! "OPTION TAG\n--------\nVALUE : Daughter\nTEXT : Daughter\r\n\n\n" +
! "OPTION TAG\n--------\nVALUE : Nephew\nTEXT : Nephew\n\n" +
! "OPTION TAG\n--------\nVALUE : Niece\nTEXT : Niece\r\n\n\n",
selectTag.toString());
}
--- 90,100 ----
selectTag = (SelectTag) node[0];
assertStringEquals("HTML Raw String","SELECT TAG\n--------\nNAME : Nominees\n" +
! "OPTION VALUE: Spouse TEXT: Spouse\n\n" +
! "OPTION VALUE: Father TEXT: \n\n" +
! "OPTION VALUE: Mother TEXT: Mother\r\n\n\n" +
! "OPTION VALUE: Son TEXT: Son\r\n\n\n" +
! "OPTION VALUE: Daughter TEXT: Daughter\r\n\n\n" +
! "OPTION VALUE: Nephew TEXT: Nephew\n\n" +
! "OPTION VALUE: Niece TEXT: Niece\r\n\n\n",
selectTag.toString());
}
|
|
From: <der...@us...> - 2003-05-11 04:48:15
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests
In directory sc8-pr-cvs1:/tmp/cvs-serv24541/org/htmlparser/tests/scannersTests
Modified Files:
LabelScannerTest.java
Log Message:
Fixed bug #735183 Problem in Label Scanning
A NodeReader now prepends the pre-read tags onto the internal list,
maintaining the correct order in recursively analysing unclosed tags.
Also fixed OptionTagScanner tag enders.
Index: LabelScannerTest.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/LabelScannerTest.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** LabelScannerTest.java 10 May 2003 01:22:24 -0000 1.18
--- LabelScannerTest.java 11 May 2003 04:48:11 -0000 1.19
***************
*** 155,164 ****
parseAndAssertNodeCount(13);
! for(int j=0;j<nodeCount;j++)
! {
! //assertTrue("Node " + j + " should be Label Tag",node[j] instanceof LabelTag);
! System.out.println(node[j].getClass().getName());
! System.out.println(node[j].toHtml());
! }
LabelTag LabelTag;
--- 155,164 ----
parseAndAssertNodeCount(13);
! // for(int j=0;j<nodeCount;j++)
! // {
! // //assertTrue("Node " + j + " should be Label Tag",node[j] instanceof LabelTag);
! // System.out.println(node[j].getClass().getName());
! // System.out.println(node[j].toHtml());
! // }
LabelTag LabelTag;
***************
*** 188,192 ****
assertStringEquals("HTML String","<LABEL VALUE=\"AOL\"><SPAN>AOL</SPAN></LABEL>",LabelTag.toHtml());
LabelTag = (LabelTag) node[12];
! assertStringEquals("HTML String","<LABEL value=\"Time Warner\">Time <B>Warner <SPAN>AOL </SPAN>Inc.</B>",LabelTag.toHtml());
}
--- 188,192 ----
assertStringEquals("HTML String","<LABEL VALUE=\"AOL\"><SPAN>AOL</SPAN></LABEL>",LabelTag.toHtml());
LabelTag = (LabelTag) node[12];
! assertStringEquals("HTML String","<LABEL VALUE=\"Time Warner\">Time <B>Warner <SPAN>AOL </SPAN>Inc.</B></LABEL>",LabelTag.toHtml());
}
|
|
From: <der...@us...> - 2003-05-11 04:48:15
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/scanners
In directory sc8-pr-cvs1:/tmp/cvs-serv24541/org/htmlparser/scanners
Modified Files:
OptionTagScanner.java
Log Message:
Fixed bug #735183 Problem in Label Scanning
A NodeReader now prepends the pre-read tags onto the internal list,
maintaining the correct order in recursively analysing unclosed tags.
Also fixed OptionTagScanner tag enders.
Index: OptionTagScanner.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/scanners/OptionTagScanner.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** OptionTagScanner.java 10 May 2003 01:47:12 -0000 1.16
--- OptionTagScanner.java 11 May 2003 04:48:11 -0000 1.17
***************
*** 37,48 ****
{
private static final String MATCH_NAME [] = {"OPTION"};
! private static final String [] ENDERS = { "SELECT" };
public OptionTagScanner() {
! super(MATCH_NAME, ENDERS, false);
}
public OptionTagScanner(String filter) {
! super(filter, MATCH_NAME, ENDERS, false);
}
--- 37,49 ----
{
private static final String MATCH_NAME [] = {"OPTION"};
! private static final String [] ENDERS = { };
! private static final String [] END_TAG_ENDERS = { "SELECT", "BODY", "HTML" };
public OptionTagScanner() {
! super(MATCH_NAME[0], ENDERS, END_TAG_ENDERS, false);
}
public OptionTagScanner(String filter) {
! super(filter, MATCH_NAME, ENDERS, END_TAG_ENDERS, false);
}
|
|
From: <der...@us...> - 2003-05-11 04:48:14
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser
In directory sc8-pr-cvs1:/tmp/cvs-serv24541/org/htmlparser
Modified Files:
NodeReader.java
Log Message:
Fixed bug #735183 Problem in Label Scanning
A NodeReader now prepends the pre-read tags onto the internal list,
maintaining the correct order in recursively analysing unclosed tags.
Also fixed OptionTagScanner tag enders.
Index: NodeReader.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/NodeReader.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -d -r1.25 -r1.26
*** NodeReader.java 5 May 2003 03:12:21 -0000 1.25
--- NodeReader.java 11 May 2003 04:48:11 -0000 1.26
***************
*** 385,391 ****
return stringParser;
}
!
public void addNextParsedNode(Node nextParsedNode) {
! this.nextParsedNode.add(nextParsedNode);
}
--- 385,397 ----
return stringParser;
}
!
! /**
! * Adds the given node on the front of an internal list of pre-parsed nodes.
! * Used in recursive calls where downstream nodes have been recognized in
! * order to parse the current node.
! * @param nextParsedNode The node that will be returned next by the reader.
! */
public void addNextParsedNode(Node nextParsedNode) {
! this.nextParsedNode.prepend(nextParsedNode);
}
|
|
From: <der...@us...> - 2003-05-11 04:48:14
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tags
In directory sc8-pr-cvs1:/tmp/cvs-serv24541/org/htmlparser/tags
Modified Files:
Tag.java
Log Message:
Fixed bug #735183 Problem in Label Scanning
A NodeReader now prepends the pre-read tags onto the internal list,
maintaining the correct order in recursively analysing unclosed tags.
Also fixed OptionTagScanner tag enders.
Index: Tag.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tags/Tag.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** Tag.java 5 May 2003 03:12:22 -0000 1.22
--- Tag.java 11 May 2003 04:48:10 -0000 1.23
***************
*** 274,280 ****
{
found=true;
reader.setPreviousOpenScanner(scanner);
retVal=scanner.createScannedNode(this,url,reader,tagLine);
! reader.setPreviousOpenScanner(null);
}
--- 274,282 ----
{
found=true;
+ TagScanner save;
+ save = reader.getPreviousOpenScanner ();
reader.setPreviousOpenScanner(scanner);
retVal=scanner.createScannedNode(this,url,reader,tagLine);
! reader.setPreviousOpenScanner(save);
}
|
|
From: <der...@us...> - 2003-05-11 04:48:14
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/util
In directory sc8-pr-cvs1:/tmp/cvs-serv24541/org/htmlparser/util
Modified Files:
NodeList.java
Log Message:
Fixed bug #735183 Problem in Label Scanning
A NodeReader now prepends the pre-read tags onto the internal list,
maintaining the correct order in recursively analysing unclosed tags.
Also fixed OptionTagScanner tag enders.
Index: NodeList.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/util/NodeList.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** NodeList.java 7 May 2003 22:00:09 -0000 1.23
--- NodeList.java 11 May 2003 04:48:11 -0000 1.24
***************
*** 57,60 ****
--- 57,73 ----
}
+ /**
+ * Insert the given node at the head of the list.
+ * @param node The new first element.
+ */
+ public void prepend(Node node)
+ {
+ if (size==capacity)
+ adjustVectorCapacity();
+ System.arraycopy (nodeData, 0, nodeData, 1, size);
+ size++;
+ nodeData[0]=node;
+ }
+
private void adjustVectorCapacity() {
capacity += capacityIncrement;
|
|
From: <der...@us...> - 2003-05-10 01:47:16
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/scanners
In directory sc8-pr-cvs1:/tmp/cvs-serv21759/org/htmlparser/scanners
Modified Files:
OptionTagScanner.java
Log Message:
For Dhaval:
I have converted the OptionTag to a composite tag. The problem that is present
with Label tag exists here a well so my guess is that it is with CompositeTag
itself. Once solved, all related problems will also get solved. In any
case I have commented some test conditions in the OptionTagTest class. You can
uncomment it and see it for yourself.
Some SelectTag test cases are also changed as a result.
Index: OptionTagScanner.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/scanners/OptionTagScanner.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** OptionTagScanner.java 5 May 2003 03:12:22 -0000 1.15
--- OptionTagScanner.java 10 May 2003 01:47:12 -0000 1.16
***************
*** 29,122 ****
package org.htmlparser.scanners;
- import java.util.Map;
-
- import org.htmlparser.Node;
- import org.htmlparser.NodeReader;
- import org.htmlparser.StringNode;
- import org.htmlparser.tags.EndTag;
import org.htmlparser.tags.OptionTag;
import org.htmlparser.tags.Tag;
import org.htmlparser.tags.data.TagData;
- import org.htmlparser.util.ParserException;
- import org.htmlparser.util.ParserUtils;
! public class OptionTagScanner extends TagScanner
{
! public OptionTagScanner()
! {
! super();
}
! public OptionTagScanner(String filter)
! {
! super(filter);
}
-
- public Tag scan(Tag tag, String pUrl, NodeReader reader, String currLine)
- throws ParserException
- {
- try
- {
- EndTag endTag=null;
- Node node = null;
- Node prevNode = tag;
- boolean endTagFound=false;
- StringBuffer text=new StringBuffer("");
- // Remove all existing scanners, so as to parse only till the end tag
- Map tempScanners = ParserUtils.adjustScanners(reader);
! do
! {
! node = reader.readElement();
! if (node instanceof EndTag)
! {
! endTag = (EndTag)node;
! String endTagString = endTag.getText().toUpperCase();
! if (endTagString.equals("OPTION") || endTagString.equals("SELECT"))
! {
! endTagFound = true;
! if (endTagString.equals("SELECT"))
! {
! node = prevNode;
! }
! }
! }
! else if (node instanceof StringNode)
! {
! text.append(node.toHtml());
! }
! else
! {
! endTagFound = true;
! node = prevNode;
! }
! prevNode = node;
! }
! while (!endTagFound);
! OptionTag lOptionTag =
! new OptionTag(
! new TagData(
! 0, node.elementEnd(), tag.getText(),currLine
! ),
! text.toString()
! );
! ParserUtils.restoreScanners(reader, tempScanners);
! return lOptionTag;
! }
! catch (Exception e)
! {
! throw new ParserException("HTMLOptionTagScanner.scan() : Error while scanning option tags, current line = "+currLine,e);
! }
}
!
!
! /**
! * @see org.htmlparser.scanners.TagScanner#getID()
! */
! public String [] getID() {
! String [] ids = new String[1];
! ids[0] = "OPTION";
! return ids;
}
}
--- 29,58 ----
package org.htmlparser.scanners;
import org.htmlparser.tags.OptionTag;
import org.htmlparser.tags.Tag;
+ import org.htmlparser.tags.data.CompositeTagData;
import org.htmlparser.tags.data.TagData;
! public class OptionTagScanner extends CompositeTagScanner
{
! private static final String MATCH_NAME [] = {"OPTION"};
! private static final String [] ENDERS = { "SELECT" };
!
! public OptionTagScanner() {
! super(MATCH_NAME, ENDERS, false);
}
! public OptionTagScanner(String filter) {
! super(filter, MATCH_NAME, ENDERS, false);
}
! public String [] getID() {
! return MATCH_NAME;
}
! public Tag createTag(
! TagData tagData,
! CompositeTagData compositeTagData) {
! return new OptionTag(tagData,compositeTagData);
}
}
|
|
From: <der...@us...> - 2003-05-10 01:47:15
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tags
In directory sc8-pr-cvs1:/tmp/cvs-serv21759/org/htmlparser/tags
Modified Files:
OptionTag.java
Log Message:
For Dhaval:
I have converted the OptionTag to a composite tag. The problem that is present
with Label tag exists here a well so my guess is that it is with CompositeTag
itself. Once solved, all related problems will also get solved. In any
case I have commented some test conditions in the OptionTagTest class. You can
uncomment it and see it for yourself.
Some SelectTag test cases are also changed as a result.
Index: OptionTag.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tags/OptionTag.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** OptionTag.java 5 May 2003 03:12:22 -0000 1.13
--- OptionTag.java 10 May 2003 01:47:12 -0000 1.14
***************
*** 29,73 ****
package org.htmlparser.tags;
import org.htmlparser.tags.data.TagData;
import org.htmlparser.util.ParserUtils;
! public class OptionTag extends Tag
{
private String value;
! public OptionTag(TagData tagData, String text)
{
! super(tagData);
! this.value = text;
}
public String getValue() {
! return value;
}
!
public void setValue(String value) {
this.value = value;
}
!
! public String toHtml()
! {
! String lHTMLString = ParserUtils.toHTML(this);
!
! StringBuffer lOptionTag = new StringBuffer(lHTMLString);
!
! if (value != null)
! lOptionTag.append(value);
!
! lOptionTag.append("</OPTION>");
!
! return lOptionTag.toString();
}
! public String toString()
! {
! StringBuffer lString = new StringBuffer(ParserUtils.toString(this));
! lString.append("TEXT : ").append(value).append("\n");
!
! return lString.toString();
}
}
--- 29,63 ----
package org.htmlparser.tags;
+ import org.htmlparser.tags.data.CompositeTagData;
import org.htmlparser.tags.data.TagData;
import org.htmlparser.util.ParserUtils;
! public class OptionTag extends CompositeTag
{
private String value;
! public OptionTag(TagData tagData, CompositeTagData compositeTagData)
{
! super(tagData, compositeTagData);
! this.value = (String)this.getAttribute("VALUE");
}
public String getValue() {
! return this.value;
}
!
public void setValue(String value) {
this.value = value;
+ this.setAttribute("VALUE",value);
}
!
! public String getOptionText() {
! return toPlainTextString();
}
! public String toString() {
! String output = "OPTION VALUE: " + value + " TEXT: "+getOptionText()+"\n";
! return output;
}
+
}
|
|
From: <der...@us...> - 2003-05-10 01:47:15
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests
In directory sc8-pr-cvs1:/tmp/cvs-serv21759/org/htmlparser/tests/scannersTests
Modified Files:
SelectTagScannerTest.java OptionTagScannerTest.java
Log Message:
For Dhaval:
I have converted the OptionTag to a composite tag. The problem that is present
with Label tag exists here a well so my guess is that it is with CompositeTag
itself. Once solved, all related problems will also get solved. In any
case I have commented some test conditions in the OptionTagTest class. You can
uncomment it and see it for yourself.
Some SelectTag test cases are also changed as a result.
Index: SelectTagScannerTest.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/SelectTagScannerTest.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** SelectTagScannerTest.java 5 May 2003 03:12:25 -0000 1.12
--- SelectTagScannerTest.java 10 May 2003 01:47:12 -0000 1.13
***************
*** 41,46 ****
private String testHTML = new String(
! "<Select name=\"Remarks\">" +
"<option value='option1'>option1</option>" +
"</Select>" +
! "<Select name=\"something\">" +
"<option value='option2'>option2</option>" +
"</Select>" +
"<Select></Select>" +
"<Select name=\"Remarks\">The death threats of the organization\n" +
--- 41,50 ----
private String testHTML = new String(
! "<Select name=\"Remarks\">" +
! "<option value='option1'>option1</option>" +
! "</Select>" +
! "<Select name=\"something\">" +
! "<option value='option2'>option2</option>" +
! "</Select>" +
"<Select></Select>" +
"<Select name=\"Remarks\">The death threats of the organization\n" +
***************
*** 83,87 ****
OptionTag [] optionTags = selectTag.getOptionTags();
assertEquals("option tag array length",1,optionTags.length);
! assertEquals("option tag value","option1",optionTags[0].getValue());
}
--- 87,91 ----
OptionTag [] optionTags = selectTag.getOptionTags();
assertEquals("option tag array length",1,optionTags.length);
! assertEquals("option tag value","option1",optionTags[0].getOptionText());
}
***************
*** 91,95 ****
public void testSelectTagWithComments() throws Exception {
createParser(
! "<form>" +
"<select> " +
"<!-- 1 --><option selected>123 " +
"<option>345 " +
"</select> " +
"</form>"
);
parser.registerScanners();
--- 95,104 ----
public void testSelectTagWithComments() throws Exception {
createParser(
! "<form>" +
! "<select> " +
! "<!-- 1 --><option selected>123 " +
! "<option>345 " +
! "</select> " +
! "</form>"
);
parser.registerScanners();
Index: OptionTagScannerTest.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/OptionTagScannerTest.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** OptionTagScannerTest.java 5 May 2003 03:12:25 -0000 1.12
--- OptionTagScannerTest.java 10 May 2003 01:47:12 -0000 1.13
***************
*** 71,73 ****
--- 71,78 ----
}
}
+ public static void main(String[] args)
+ {
+ new junit.awtui.TestRunner().start(new String[] {OptionTagScannerTest.class.getName()});
+ }
+
}
|
|
From: <der...@us...> - 2003-05-10 01:47:15
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/tagTests
In directory sc8-pr-cvs1:/tmp/cvs-serv21759/org/htmlparser/tests/tagTests
Modified Files:
SelectTagTest.java OptionTagTest.java
Log Message:
For Dhaval:
I have converted the OptionTag to a composite tag. The problem that is present
with Label tag exists here a well so my guess is that it is with CompositeTag
itself. Once solved, all related problems will also get solved. In any
case I have commented some test conditions in the OptionTagTest class. You can
uncomment it and see it for yourself.
Some SelectTag test cases are also changed as a result.
Index: SelectTagTest.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/tagTests/SelectTagTest.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** SelectTagTest.java 5 May 2003 03:12:25 -0000 1.13
--- SelectTagTest.java 10 May 2003 01:47:11 -0000 1.14
***************
*** 103,109 ****
OptionTag [] optionTags = selectTag.getOptionTags();
assertEquals("option tag array length",7,optionTags.length);
! assertEquals("option tag 1","Spouse",optionTags[0].getValue());
! assertEquals("option tag 7","Niece\r\n",optionTags[6].getValue());
}
}
--- 103,114 ----
OptionTag [] optionTags = selectTag.getOptionTags();
assertEquals("option tag array length",7,optionTags.length);
! assertEquals("option tag 1","Spouse",optionTags[0].getOptionText());
! assertEquals("option tag 7","Niece\r\n",optionTags[6].getOptionText());
}
+ public static void main(String[] args)
+ {
+ new junit.awtui.TestRunner().start(new String[] {SelectTagTest.class.getName()});
+ }
+
}
Index: OptionTagTest.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/tagTests/OptionTagTest.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** OptionTagTest.java 5 May 2003 03:12:25 -0000 1.13
--- OptionTagTest.java 10 May 2003 01:47:12 -0000 1.14
***************
*** 51,54 ****
--- 51,56 ----
"<OPTION>Cricinfo" +
"<OPTION value=\"Microsoft Passport\">"
+ // "<OPTION value=\"AOL\"><SPAN>AOL</SPAN></OPTION>" +
+ // "<OPTION value=\"Time Warner\">Time <LABEL>Warner <SPAN>AOL </SPAN>Inc.</LABEL>"
);
***************
*** 61,65 ****
super.setUp();
createParser(testHTML);
! parser.addScanner(new OptionTagScanner("-i"));
parseAndAssertNodeCount(11);
}
--- 63,67 ----
super.setUp();
createParser(testHTML);
! parser.addScanner(new OptionTagScanner("-option"));
parseAndAssertNodeCount(11);
}
***************
*** 69,73 ****
for(int j=0;j<nodeCount;j++)
{
! assertTrue("Node " + j + " should be Option Tag",node[j] instanceof OptionTag);
}
OptionTag OptionTag;
--- 71,77 ----
for(int j=0;j<nodeCount;j++)
{
! //assertTrue("Node " + j + " should be Option Tag",node[j] instanceof OptionTag);
! System.out.println(node[j].getClass().getName());
! System.out.println(node[j].toHtml());
}
OptionTag OptionTag;
***************
*** 81,85 ****
assertStringEquals("HTML String","<OPTION>Yahoo!</OPTION>",OptionTag.toHtml());
OptionTag = (OptionTag) node[4];
! assertStringEquals("HTML String","<OPTION>Hotmail</OPTION>",OptionTag.toHtml());
OptionTag = (OptionTag) node[5];
assertStringEquals("HTML String","<OPTION VALUE=\"ICQ Messenger\"></OPTION>",OptionTag.toHtml());
--- 85,89 ----
assertStringEquals("HTML String","<OPTION>Yahoo!</OPTION>",OptionTag.toHtml());
OptionTag = (OptionTag) node[4];
! assertStringEquals("HTML String","<OPTION>\r\nHotmail</OPTION>",OptionTag.toHtml());
OptionTag = (OptionTag) node[5];
assertStringEquals("HTML String","<OPTION VALUE=\"ICQ Messenger\"></OPTION>",OptionTag.toHtml());
***************
*** 87,102 ****
assertStringEquals("HTML String","<OPTION>Mailcity\r\n</OPTION>",OptionTag.toHtml());
OptionTag = (OptionTag) node[7];
! assertStringEquals("HTML String","<OPTION>Indiatimes\r\n</OPTION>",OptionTag.toHtml());
OptionTag = (OptionTag) node[8];
! assertStringEquals("HTML String","<OPTION>Rediff\r\n</OPTION>",OptionTag.toHtml());
OptionTag = (OptionTag) node[9];
assertStringEquals("HTML String","<OPTION>Cricinfo</OPTION>",OptionTag.toHtml());
OptionTag = (OptionTag) node[10];
assertStringEquals("HTML String","<OPTION VALUE=\"Microsoft Passport\"></OPTION>",OptionTag.toHtml());
! }
public void testToString() throws ParserException
{
! for(int j=0;j<nodeCount;j++)
{
assertTrue("Node " + j + " should be Option Tag",node[j] instanceof OptionTag);
--- 91,110 ----
assertStringEquals("HTML String","<OPTION>Mailcity\r\n</OPTION>",OptionTag.toHtml());
OptionTag = (OptionTag) node[7];
! assertStringEquals("HTML String","<OPTION>\r\nIndiatimes\r\n</OPTION>",OptionTag.toHtml());
OptionTag = (OptionTag) node[8];
! assertStringEquals("HTML String","<OPTION>\r\nRediff\r\n</OPTION>",OptionTag.toHtml());
OptionTag = (OptionTag) node[9];
assertStringEquals("HTML String","<OPTION>Cricinfo</OPTION>",OptionTag.toHtml());
OptionTag = (OptionTag) node[10];
assertStringEquals("HTML String","<OPTION VALUE=\"Microsoft Passport\"></OPTION>",OptionTag.toHtml());
! /* OptionTag = (OptionTag) node[11];
! assertStringEquals("HTML String","<OPTION VALUE=\"AOL\"><SPAN>AOL</SPAN></OPTION>",OptionTag.toHtml());
! OptionTag = (OptionTag) node[12];
! assertStringEquals("HTML String","<OPTION value=\"Time Warner\">Time <LABEL>Warner <SPAN>AOL </SPAN>Inc.</LABEL></OPTION>",OptionTag.toHtml());
! */ }
public void testToString() throws ParserException
{
! for(int j=0;j<11;j++)
{
assertTrue("Node " + j + " should be Option Tag",node[j] instanceof OptionTag);
***************
*** 104,128 ****
OptionTag OptionTag;
OptionTag = (OptionTag) node[0];
! assertEquals("HTML Raw String","OPTION TAG\n--------\nVALUE : Google Search\nTEXT : Google\n",OptionTag.toString());
OptionTag = (OptionTag) node[1];
! assertEquals("HTML Raw String","OPTION TAG\n--------\nVALUE : AltaVista Search\nTEXT : AltaVista\n",OptionTag.toString());
OptionTag = (OptionTag) node[2];
! assertEquals("HTML Raw String","OPTION TAG\n--------\nVALUE : Lycos Search\nTEXT : \n",OptionTag.toString());
OptionTag = (OptionTag) node[3];
! assertEquals("HTML Raw String","OPTION TAG\n--------\nTEXT : Yahoo!\n",OptionTag.toString());
OptionTag = (OptionTag) node[4];
! assertEquals("HTML Raw String","OPTION TAG\n--------\nTEXT : Hotmail\n",OptionTag.toString());
OptionTag = (OptionTag) node[5];
! assertEquals("HTML Raw String","OPTION TAG\n--------\nVALUE : ICQ Messenger\nTEXT : \n",OptionTag.toString());
OptionTag = (OptionTag) node[6];
! assertEquals("HTML Raw String","OPTION TAG\n--------\nTEXT : Mailcity\r\n\n",OptionTag.toString());
OptionTag = (OptionTag) node[7];
! assertEquals("HTML Raw String","OPTION TAG\n--------\nTEXT : Indiatimes\r\n\n",OptionTag.toString());
OptionTag = (OptionTag) node[8];
! assertEquals("HTML Raw String","OPTION TAG\n--------\nTEXT : Rediff\r\n\n",OptionTag.toString());
OptionTag = (OptionTag) node[9];
! assertEquals("HTML Raw String","OPTION TAG\n--------\nTEXT : Cricinfo\n",OptionTag.toString());
OptionTag = (OptionTag) node[10];
! assertEquals("HTML Raw String","OPTION TAG\n--------\nVALUE : Microsoft Passport\nTEXT : \n",OptionTag.toString());
}
--- 112,145 ----
OptionTag OptionTag;
OptionTag = (OptionTag) node[0];
! assertEquals("HTML Raw String","OPTION VALUE: Google Search TEXT: Google\n",OptionTag.toString());
OptionTag = (OptionTag) node[1];
! assertEquals("HTML Raw String","OPTION VALUE: AltaVista Search TEXT: AltaVista\n",OptionTag.toString());
OptionTag = (OptionTag) node[2];
! assertEquals("HTML Raw String","OPTION VALUE: Lycos Search TEXT: \n",OptionTag.toString());
OptionTag = (OptionTag) node[3];
! assertEquals("HTML Raw String","OPTION VALUE: null TEXT: Yahoo!\n",OptionTag.toString());
OptionTag = (OptionTag) node[4];
! assertEquals("HTML Raw String","OPTION VALUE: null TEXT: Hotmail\n",OptionTag.toString());
OptionTag = (OptionTag) node[5];
! assertEquals("HTML Raw String","OPTION VALUE: ICQ Messenger TEXT: \n",OptionTag.toString());
OptionTag = (OptionTag) node[6];
! assertEquals("HTML Raw String","OPTION VALUE: null TEXT: Mailcity\r\n\n",OptionTag.toString());
OptionTag = (OptionTag) node[7];
! assertEquals("HTML Raw String","OPTION VALUE: null TEXT: Indiatimes\r\n\n",OptionTag.toString());
OptionTag = (OptionTag) node[8];
! assertEquals("HTML Raw String","OPTION VALUE: null TEXT: Rediff\r\n\n",OptionTag.toString());
OptionTag = (OptionTag) node[9];
! assertEquals("HTML Raw String","OPTION VALUE: null TEXT: Cricinfo\n",OptionTag.toString());
OptionTag = (OptionTag) node[10];
! assertEquals("HTML Raw String","OPTION VALUE: Microsoft Passport TEXT: \n",OptionTag.toString());
! /* OptionTag = (OptionTag) node[11];
! assertEquals("HTML Raw String","OPTION VALUE: AOL TEXT: AOL\n",OptionTag.toString());
! OptionTag = (OptionTag) node[12];
! assertEquals("HTML Raw String","OPTION VALUE: Time Warner TEXT: Time Warner AOL Inc.\n",OptionTag.toString());
! */ }
!
! public static void main(String[] args)
! {
! new junit.awtui.TestRunner().start(new String[] {OptionTagTest.class.getName()});
}
|
|
From: <der...@us...> - 2003-05-10 01:22:28
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests
In directory sc8-pr-cvs1:/tmp/cvs-serv13750/org/htmlparser/tests/scannersTests
Modified Files:
LabelScannerTest.java
Log Message:
For Dhaval:
New Test case.
I added the LabelScanner to the parser and parsed. Strangely instead of
returning node count as 13(number of LABEL tags) I get 17. Also when I see
output of every node (using toHtml()), uptil "Microsoft Passport" everything is
correct and I am getting LABEL tags as well. But the next node that I get is a
String node with value as #alue="AOL"># (without the hash) and that entire tag
got messed up. Any ideas. I have attached test file for that purpose. U'll also
have to use the new LabelScanner.java file. Its quite strange.
Index: LabelScannerTest.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/scannersTests/LabelScannerTest.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** LabelScannerTest.java 10 May 2003 01:14:59 -0000 1.17
--- LabelScannerTest.java 10 May 2003 01:22:24 -0000 1.18
***************
*** 117,121 ****
public void testNestedLabels() throws ParserException {
! createParser("<label>John Doe<label>Jane Doe</label>");
parser.registerScanners();
LabelScanner labelScanner = new LabelScanner("-l");
--- 117,121 ----
public void testNestedLabels() throws ParserException {
! createParser("<label id=\"attr1\"><label>Jane Doe");
parser.registerScanners();
LabelScanner labelScanner = new LabelScanner("-l");
***************
*** 126,130 ****
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());
--- 126,130 ----
LabelTag labelTag = (LabelTag) node[0];
! assertStringEquals("Label","<LABEL ID=\"attr1\" ></LABEL>",labelTag.toHtml());
labelTag = (LabelTag) node[1];
assertStringEquals("Label","<LABEL>Jane Doe</LABEL>",labelTag.toHtml());
***************
*** 132,135 ****
--- 132,193 ----
assertNull("ID",attr.get("id"));
}
+
+ public void testNestedLabels2() throws ParserException {
+ String testHTML = new String(
+ "<LABEL value=\"Google Search\">Google</LABEL>" +
+ "<LABEL value=\"AltaVista Search\">AltaVista" +
+ "<LABEL value=\"Lycos Search\"></LABEL>" +
+ "<LABEL>Yahoo!</LABEL>" +
+ "<LABEL>\nHotmail</LABEL>" +
+ "<LABEL value=\"ICQ Messenger\">" +
+ "<LABEL>Mailcity\n</LABEL>"+
+ "<LABEL>\nIndiatimes\n</LABEL>"+
+ "<LABEL>\nRediff\n</LABEL>\n"+
+ "<LABEL>Cricinfo" +
+ "<LABEL value=\"Microsoft Passport\">" +
+ "<LABEL value=\"AOL\"><SPAN>AOL</SPAN></LABEL>" +
+ "<LABEL value=\"Time Warner\">Time <B>Warner <SPAN>AOL </SPAN>Inc.</B>"
+ );
+ createParser(testHTML);
+ //parser.registerScanners();
+ LabelScanner labelScanner = new LabelScanner("-l");
+ parser.addScanner(labelScanner);
+ parseAndAssertNodeCount(13);
+
+ for(int j=0;j<nodeCount;j++)
+ {
+ //assertTrue("Node " + j + " should be Label Tag",node[j] instanceof LabelTag);
+ System.out.println(node[j].getClass().getName());
+ System.out.println(node[j].toHtml());
+ }
+
+ LabelTag LabelTag;
+ LabelTag = (LabelTag) node[0];
+ assertStringEquals("HTML String","<LABEL VALUE=\"Google Search\">Google</LABEL>",LabelTag.toHtml());
+ LabelTag = (LabelTag) node[1];
+ assertStringEquals("HTML String","<LABEL VALUE=\"AltaVista Search\">AltaVista</LABEL>",LabelTag.toHtml());
+ LabelTag = (LabelTag) node[2];
+ assertStringEquals("HTML String","<LABEL VALUE=\"Lycos Search\"></LABEL>",LabelTag.toHtml());
+ LabelTag = (LabelTag) node[3];
+ assertStringEquals("HTML String","<LABEL>Yahoo!</LABEL>",LabelTag.toHtml());
+ LabelTag = (LabelTag) node[4];
+ assertStringEquals("HTML String","<LABEL>\r\nHotmail</LABEL>",LabelTag.toHtml());
+ LabelTag = (LabelTag) node[5];
+ assertStringEquals("HTML String","<LABEL VALUE=\"ICQ Messenger\"></LABEL>",LabelTag.toHtml());
+ LabelTag = (LabelTag) node[6];
+ assertStringEquals("HTML String","<LABEL>Mailcity\r\n</LABEL>",LabelTag.toHtml());
+ LabelTag = (LabelTag) node[7];
+ assertStringEquals("HTML String","<LABEL>\r\nIndiatimes\r\n</LABEL>",LabelTag.toHtml());
+ LabelTag = (LabelTag) node[8];
+ assertStringEquals("HTML String","<LABEL>\r\nRediff\r\n</LABEL>",LabelTag.toHtml());
+ LabelTag = (LabelTag) node[9];
+ assertStringEquals("HTML String","<LABEL>Cricinfo</LABEL>",LabelTag.toHtml());
+ LabelTag = (LabelTag) node[10];
+ assertStringEquals("HTML String","<LABEL VALUE=\"Microsoft Passport\"></LABEL>",LabelTag.toHtml());
+ LabelTag = (LabelTag) node[11];
+ assertStringEquals("HTML String","<LABEL VALUE=\"AOL\"><SPAN>AOL</SPAN></LABEL>",LabelTag.toHtml());
+ LabelTag = (LabelTag) node[12];
+ assertStringEquals("HTML String","<LABEL value=\"Time Warner\">Time <B>Warner <SPAN>AOL </SPAN>Inc.</B>",LabelTag.toHtml());
+ }
public static TestSuite suite() {
|
|
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()});
+ }
+
}
|
|
From: <der...@us...> - 2003-05-10 01:15:03
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/scanners
In directory sc8-pr-cvs1:/tmp/cvs-serv11166/org/htmlparser/scanners
Modified Files:
LabelScanner.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: LabelScanner.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/scanners/LabelScanner.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** LabelScanner.java 6 May 2003 00:43:49 -0000 1.17
--- LabelScanner.java 10 May 2003 01:14:59 -0000 1.18
***************
*** 41,49 ****
public LabelScanner() {
! this("");
}
public LabelScanner(String filter) {
! super(filter,MATCH_NAME);
}
--- 41,49 ----
public LabelScanner() {
! super(MATCH_NAME,new String [] {},false);
}
public LabelScanner(String filter) {
! super(filter,MATCH_NAME,new String [] {},false);
}
|
|
From: <der...@us...> - 2003-05-09 03:32:13
|
Update of /cvsroot/htmlparser/htmlparser/docs In directory sc8-pr-cvs1:/tmp/cvs-serv12445/htmlparser/docs Modified Files: changes.txt Log Message: switch to cvs2cl mechanism Index: changes.txt =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/docs/changes.txt,v retrieving revision 1.175 retrieving revision 1.176 diff -C2 -d -r1.175 -r1.176 *** changes.txt 7 May 2003 22:04:10 -0000 1.175 --- changes.txt 9 May 2003 03:32:10 -0000 1.176 *************** *** 1,2 **** --- 1,17 ---- + + ******************************************************************************* + * Developers * + * * + * Do not update this change log manually. * + * Instead, make your commit messages informative, and these will be harvested * + * at integration time by the cvs2cl.pl script and added here. * + * For details on this script see: * + * http://www.red-bean.com/cvs2cl/ * + * * + * For guidelines on what to put in commit messages see: * + * http://www.red-bean.com/cvs2cl/changelogs.html * + * * + ******************************************************************************* + Integration Build 1.3 - 20030511 -------------------------------- |