[Htmlparser-cvs] htmlparser/src/org/htmlparser/tests/visitorsTests UrlModifyingVisitorTest.java,1.18
Brought to you by:
derrickoswald
From: Derrick O. <der...@us...> - 2005-03-12 13:39:55
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/visitorsTests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21713/tests/visitorsTests Modified Files: UrlModifyingVisitorTest.java Log Message: RFE #1160345 NodeList.visitAllNodesWith Added visitAllNodesWith to the NodeList class. Index: UrlModifyingVisitorTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/visitorsTests/UrlModifyingVisitorTest.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** UrlModifyingVisitorTest.java 31 Jul 2004 16:42:33 -0000 1.18 --- UrlModifyingVisitorTest.java 12 Mar 2005 13:39:46 -0000 1.19 *************** *** 28,32 **** --- 28,37 ---- import org.htmlparser.Parser; + import org.htmlparser.Tag; + import org.htmlparser.tags.ImageTag; + import org.htmlparser.tags.LinkTag; import org.htmlparser.tests.ParserTestCase; + import org.htmlparser.util.NodeList; + import org.htmlparser.visitors.NodeVisitor; import org.htmlparser.visitors.UrlModifyingVisitor; *************** *** 66,68 **** --- 71,101 ---- result); } + + /** + * Test a better method of modifying an HTML page. + */ + public void testPageModification () + throws + Exception + { + Parser parser = Parser.createParser (HTML_WITH_LINK, null); + NodeList list = parser.parse (null); // no filter + // make an inner class that does the same thing as the UrlModifyingVisitor + NodeVisitor visitor = new NodeVisitor () + { + String linkPrefix = "localhost://"; + public void visitTag (Tag tag) + { + if (tag instanceof LinkTag) + ((LinkTag)tag).setLink(linkPrefix + ((LinkTag)tag).getLink()); + else if (tag instanceof ImageTag) + ((ImageTag)tag).setImageURL(linkPrefix + ((ImageTag)tag).getImageURL()); + } + }; + list.visitAllNodesWith (visitor); + String result = list.toHtml (); + assertStringEquals("Expected HTML", + MODIFIED_HTML, + result); + } } |