[Htmlparser-cvs] htmlparser/src/org/htmlparser/tests/filterTests FilterTest.java,1.2,1.3
Brought to you by:
derrickoswald
From: Derrick O. <der...@us...> - 2004-05-10 22:32:32
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/filterTests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21948/tests/filterTests Modified Files: FilterTest.java Log Message: Add CssSelectorNodeFilter submitted by Rogers George. Index: FilterTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/filterTests/FilterTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** FilterTest.java 7 Dec 2003 23:41:41 -0000 1.2 --- FilterTest.java 10 May 2004 22:31:46 -0000 1.3 *************** *** 27,31 **** --- 27,33 ---- package org.htmlparser.tests.filterTests; + import org.htmlparser.Parser; import org.htmlparser.filters.AndFilter; + import org.htmlparser.filters.CssSelectorNodeFilter; import org.htmlparser.filters.HasAttributeFilter; import org.htmlparser.filters.HasChildFilter; *************** *** 35,43 **** --- 37,48 ---- import org.htmlparser.filters.StringFilter; import org.htmlparser.filters.TagNameFilter; + import org.htmlparser.lexer.Lexer; import org.htmlparser.lexer.nodes.StringNode; import org.htmlparser.lexer.nodes.TagNode; import org.htmlparser.tags.BodyTag; import org.htmlparser.tags.LinkTag; + import org.htmlparser.tags.Tag; import org.htmlparser.tests.ParserTestCase; + import org.htmlparser.util.NodeIterator; import org.htmlparser.util.NodeList; import org.htmlparser.util.ParserException; *************** *** 241,244 **** --- 246,275 ---- assertEquals ("attribute value", "three", link.getAttribute ("id")); } + + public void testEscape() throws Exception + { + assertEquals ("douchebag", CssSelectorNodeFilter.unescape ("doucheba\\g").toString ()); + } + + public void testSelectors() throws Exception + { + String html = "<html><head><title>sample title</title></head><body inserterr=\"true\" yomama=\"false\"><h3 id=\"heading\">big </invalid>heading</h3><ul id=\"things\"><li><br word=\"broken\"/>>moocow<li><applet/>doohickey<li class=\"last\"><b class=\"item\">final<br>item</b></ul></body></html>"; + Lexer l; + Parser p; + CssSelectorNodeFilter it; + NodeIterator i; + int count; + + l = new Lexer (html); + p = new Parser (l); + it = new CssSelectorNodeFilter ("li + li"); + count = 0; + for (i = p.extractAllNodesThatMatch (it).elements (); i.hasMoreNodes ();) + { + assertEquals ("tag name wrong", "LI", ((Tag)i.nextNode()).getTagName()); + count++; + } + assertEquals ("wrong count", 2, count); + } } |