Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/tagTests
In directory sc8-pr-cvs1:/tmp/cvs-serv3957/org/htmlparser/tests/tagTests
Modified Files:
ImageTagTest.java
Log Message:
Add test for bug #753003 <IMG> within <A> missed when followed by <MAP>
Not reproducible.
Index: ImageTagTest.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/tagTests/ImageTagTest.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** ImageTagTest.java 22 Jun 2003 21:37:47 -0000 1.20
--- ImageTagTest.java 28 Jun 2003 14:31:25 -0000 1.21
***************
*** 29,37 ****
--- 29,41 ----
package org.htmlparser.tests.tagTests;
+ import org.htmlparser.Node;
import org.htmlparser.scanners.ImageScanner;
import org.htmlparser.tags.ImageTag;
+ import org.htmlparser.tags.LinkTag;
import org.htmlparser.tests.ParserTestCase;
import org.htmlparser.util.LinkProcessor;
+ import org.htmlparser.util.NodeList;
import org.htmlparser.util.ParserException;
+ import org.htmlparser.util.SimpleNodeIterator;
public class ImageTagTest extends ParserTestCase
***************
*** 143,148 ****
parseAndAssertNodeCount(1);
! // The node should be an HTMLImageTag
! assertTrue("Node should be a HTMLImageTag",node[0] instanceof ImageTag);
ImageTag imageTag = (ImageTag)node[0];
assertStringEquals("The image locn","<IMG WIDTH=\"305\" ALT=\"Google\" SRC=\"../../goo/title_homepage4.gif\" HEIGHT=\"115\">",imageTag.toHtml());
--- 147,152 ----
parseAndAssertNodeCount(1);
! // The node should be an ImageTag
! assertTrue("Node should be a ImageTag",node[0] instanceof ImageTag);
ImageTag imageTag = (ImageTag)node[0];
assertStringEquals("The image locn","<IMG WIDTH=\"305\" ALT=\"Google\" SRC=\"../../goo/title_homepage4.gif\" HEIGHT=\"115\">",imageTag.toHtml());
***************
*** 151,153 ****
--- 155,202 ----
assertEquals("Width","305",imageTag.getAttribute("width"));
}
+
+ /**
+ * See bug #753003 <IMG> within <A> missed when followed by <MAP>
+ * Not reproducible.
+ */
+ public ImageTag extractLinkImage (LinkTag link)
+ {
+ NodeList subElements = new NodeList ();
+ link.collectInto (subElements, ImageTag.class);
+ SimpleNodeIterator subScan = subElements.elements ();
+ while (subScan.hasMoreNodes ())
+ {
+ Node subNode = subScan.nextNode ();
+ if (subNode instanceof ImageTag)
+ return (ImageTag) subNode;
+ }
+
+ return null;
+ }
+
+ /**
+ * See bug #753003 <IMG> within <A> missed when followed by <MAP>
+ * Not reproducible.
+ */
+ public void testMapFollowImg () throws ParserException
+ {
+ String html = "<a href=\"Biography/Biography.html\" "
+ + "onMouseOut=\"MM_swapImgRestore()\" "
+ + "onMouseOver=\"MM_swapImage('Image13','','Graphics/SchneiderPic1.gif',1)\">"
+ + "<img name=\"Image13\" border=\"0\" src=\"Graphics/SchneiderPic.gif\" "
+ + "width=\"127\" height=\"175\" usemap=\"#Image13Map\" "
+ + "alt=\"Graphics/SchneiderPic.gif\"> <map name=\"Image13Map\">"
+ + "<area shape=\"circle\" coords=\"67,88,66\" href=\"Biography/Biography.html\" "
+ + "onClick=\"newWindow('Biography/Biography.html','HTML','menubar=yes,scrollbars=yes,resizable=yes,left=0,top=0'); return false\" target=\"HTML\">"
+ + "</map>"
+ + "</a>";
+ createParser (html);
+ parser.registerScanners ();
+
+ parseAndAssertNodeCount (1);
+ assertTrue ("Node should be a LinkTag", node[0] instanceof LinkTag);
+ LinkTag link = (LinkTag)node[0];
+ ImageTag img = extractLinkImage (link);
+ assertNotNull ("no image tag", img);
+ }
}
|