1 27 package org.htmlparser.tests.visitorsTests; 28 29 import org.htmlparser.Node; 30 import org.htmlparser.Tag; 31 import org.htmlparser.tests.ParserTestCase; 32 import org.htmlparser.visitors.TagFindingVisitor; 33 34 public class TagFindingVisitorTest extends ParserTestCase { 35 36 static 37 { 38 System.setProperty ("org.htmlparser.tests.visitorsTests.TagFindingVisitorTest", "TagFindingVisitorTest"); 39 } 40 41 private String html = 42 "<HTML><HEAD><TITLE>This is the Title</TITLE></HEAD>" + 43 "<BODY>Hello World, this is an excellent parser</BODY>" + 44 "<UL><LI><LI></UL>" + 45 "<A HREF=\"http://www.industriallogic.com\">Industrial Logic</a>" + 46 "</HTML>"; 47 48 public TagFindingVisitorTest(String name) { 49 super(name); 50 } 51 52 public void setUp() { 53 createParser(html); 54 } 55 56 public void testTagFound() throws Exception { 57 TagFindingVisitor visitor = new TagFindingVisitor(new String [] {"HEAD"}); 58 parser.visitAllNodesWith(visitor); 59 assertEquals("HEAD found", 1, visitor.getTagCount(0)); 60 } 61 62 public void testTagsFound() throws Exception { 63 TagFindingVisitor visitor = new TagFindingVisitor(new String [] {"LI"}); 64 parser.visitAllNodesWith(visitor); 65 assertEquals("LI tags found", 2, visitor.getTagCount(0)); 66 } 67 68 public void testMultipleTags() throws Exception { 69 TagFindingVisitor visitor = 70 new TagFindingVisitor( 71 new String [] { 72 "LI","BODY","UL","A" 73 } 74 ); 75 parser.visitAllNodesWith(visitor); 76 assertEquals("LI tags found", 2, visitor.getTagCount(0)); 77 assertEquals("BODY tag found", 1, visitor.getTagCount(1)); 78 assertEquals("UL tag found", 1, visitor.getTagCount(2)); 79 assertEquals("A tag found", 1, visitor.getTagCount(3)); 80 } 81 82 public void testEndTags() throws Exception { 83 TagFindingVisitor visitor = 84 new TagFindingVisitor( 85 new String [] { 86 "LI","BODY","UL","A" 87 }, 88 true 89 ); 90 parser.visitAllNodesWith(visitor); 91 assertEquals("LI tags found", 2, visitor.getTagCount(0)); 92 assertEquals("BODY tag found", 1, visitor.getTagCount(1)); 93 assertEquals("UL tag found", 1, visitor.getTagCount(2)); 94 assertEquals("A tag found", 1, visitor.getTagCount(3)); 95 assertEquals("BODY end tag found", 1, visitor.getEndTagCount(1)); 96 } 97 98 99 public void assertTagNameShouldBe(String message, Node node, String expectedTagName) { 100 Tag tag = (Tag)node; 101 assertStringEquals(message,expectedTagName,tag.getTagName()); 102 } 103 } 104 105 | Popular Tags |