[Htmlparser-cvs] htmlparser/src/org/htmlparser/tests/tagTests ImageTagTest.java,1.20,1.21
Brought to you by:
derrickoswald
From: <der...@us...> - 2003-06-28 14:31:29
|
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); + } } |