Thread: [Htmlparser-cvs] htmlparser/src/org/htmlparser/tests ParserTest.java,1.59,1.60 ParserTestCase.java,1
Brought to you by:
derrickoswald
From: Derrick O. <der...@us...> - 2004-07-02 00:50:08
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32670/src/org/htmlparser/tests Modified Files: ParserTest.java ParserTestCase.java Log Message: Part four of a multiphase refactoring. Most internals now use the Tag interface. This interface has been broadened to add set/get scanner and set/get endtag. Removed the org.htmlparser.tags.Tag class and moved the remaining (minor) functionality to the TagNode class. So now tags inherit directly from TagNode or CompositeTag. ** NOTE: If you have subclassed org.htmlparser.tags.Tag, use org.htmlparser.nodes.TagNode now.** Removed deprecated methods getTagBegin/getTagEnd and deleted unused classes: PeekingIterator and it's Implementation. Index: ParserTestCase.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/ParserTestCase.java,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -d -r1.48 -r1.49 *** ParserTestCase.java 16 Jun 2004 02:17:26 -0000 1.48 --- ParserTestCase.java 2 Jul 2004 00:49:29 -0000 1.49 *************** *** 30,44 **** import java.util.Iterator; import java.util.Properties; import junit.framework.TestCase; import org.htmlparser.Node; import org.htmlparser.Parser; import org.htmlparser.Text; import org.htmlparser.lexer.Lexer; import org.htmlparser.lexer.Page; import org.htmlparser.tags.FormTag; import org.htmlparser.tags.InputTag; - import org.htmlparser.tags.Tag; import org.htmlparser.util.DefaultParserFeedback; import org.htmlparser.util.NodeIterator; --- 30,47 ---- import java.util.Iterator; import java.util.Properties; + import java.util.Vector; import junit.framework.TestCase; + import org.htmlparser.Attribute; import org.htmlparser.Node; import org.htmlparser.Parser; + import org.htmlparser.Tag; import org.htmlparser.Text; import org.htmlparser.lexer.Lexer; import org.htmlparser.lexer.Page; + import org.htmlparser.nodes.TagNode; import org.htmlparser.tags.FormTag; import org.htmlparser.tags.InputTag; import org.htmlparser.util.DefaultParserFeedback; import org.htmlparser.util.NodeIterator; *************** *** 254,259 **** nextActualNode = getNextNodeUsing (actualIterator); assertNotNull (nextActualNode); ! tag1 = fixIfXmlEndTag (nextExpectedNode); ! tag2 = fixIfXmlEndTag (nextActualNode); assertStringValueMatches( displayMessage, --- 257,262 ---- nextActualNode = getNextNodeUsing (actualIterator); assertNotNull (nextActualNode); ! tag1 = fixIfXmlEndTag (expectedParser.getLexer ().getPage (), nextExpectedNode); ! tag2 = fixIfXmlEndTag (resultParser.getLexer ().getPage (), nextActualNode); assertStringValueMatches( displayMessage, *************** *** 320,324 **** * Return a following tag if node is an empty XML tag. */ ! private Tag fixIfXmlEndTag (Node node) { Tag ret; --- 323,327 ---- * Return a following tag if node is an empty XML tag. */ ! private Tag fixIfXmlEndTag (Page page, Node node) { Tag ret; *************** *** 331,335 **** { tag.setEmptyXmlTag (false); ! ret = new Tag (tag.getPage (), tag.getStartPosition (), tag.getEndPosition (), tag.getAttributesEx ()); } } --- 334,338 ---- { tag.setEmptyXmlTag (false); ! ret = new TagNode (page, tag.getStartPosition (), tag.getEndPosition (), tag.getAttributesEx ()); } } *************** *** 338,371 **** } ! private void assertAttributesMatch(String displayMessage, Tag expectedTag, Tag actualTag) { assertAllExpectedTagAttributesFoundInActualTag( displayMessage, expectedTag, actualTag); ! if (expectedTag.getAttributes().size()!=actualTag.getAttributes().size()) { assertActualTagHasNoExtraAttributes(displayMessage, expectedTag, actualTag); - } } private void assertActualTagHasNoExtraAttributes(String displayMessage, Tag expectedTag, Tag actualTag) { ! Iterator i = actualTag.getAttributes().keySet().iterator(); ! while (i.hasNext()) { ! String key = (String)i.next(); ! if (key=="/") continue; ! String expectedValue = ! expectedTag.getAttribute(key); ! String actualValue = ! actualTag.getAttribute(key); ! if (key==SpecialHashtable.TAGNAME) { ! expectedValue = ParserUtils.removeChars(expectedValue,'/'); ! actualValue = ParserUtils.removeChars(actualValue,'/'); ! assertStringEquals(displayMessage+"\ntag name",actualValue,expectedValue); continue; ! } ! ! if (expectedValue==null) ! fail( ! "\nActual tag had extra key: "+key+displayMessage ! ); } } --- 341,365 ---- } ! private void assertAttributesMatch(String displayMessage, Tag expectedTag, Tag actualTag) ! { assertAllExpectedTagAttributesFoundInActualTag( displayMessage, expectedTag, actualTag); ! if (expectedTag.getAttributesEx().size() != actualTag.getAttributesEx().size()) assertActualTagHasNoExtraAttributes(displayMessage, expectedTag, actualTag); } private void assertActualTagHasNoExtraAttributes(String displayMessage, Tag expectedTag, Tag actualTag) { ! Vector v = actualTag.getAttributesEx (); ! for (int i = 0; i < v.size (); i++) ! { ! Attribute a = (Attribute)v.elementAt (i); ! if (a.isWhitespace ()) continue; ! String actualValue = actualTag.getAttribute (a.getName ()); ! String expectedValue = expectedTag.getAttribute (a.getName ()); ! if (null == expectedValue) ! fail("\nActual tag had extra attribute: " + a.getName () + displayMessage); } } *************** *** 374,395 **** String displayMessage, Tag expectedTag, ! Tag actualTag) { ! Iterator i = expectedTag.getAttributes().keySet().iterator(); ! while (i.hasNext()) { ! String key = (String)i.next(); ! if (key.trim().equals ("/")) continue; ! String expectedValue = ! expectedTag.getAttribute(key); ! String actualValue = ! actualTag.getAttribute(key); ! if (key==SpecialHashtable.TAGNAME) { ! expectedValue = ParserUtils.removeChars(expectedValue,'/'); ! actualValue = ParserUtils.removeChars(actualValue,'/'); ! assertStringEquals(displayMessage+"\ntag name",expectedValue,actualValue); continue; ! } assertStringEquals( ! "\nvalue for key "+key+" in tag "+expectedTag.getTagName()+" expected="+expectedValue+" but was "+actualValue+ "\n\nComplete Tag expected:\n"+expectedTag.toHtml()+ "\n\nComplete Tag actual:\n"+actualTag.toHtml()+ --- 368,384 ---- String displayMessage, Tag expectedTag, ! Tag actualTag) ! { ! Vector v = actualTag.getAttributesEx (); ! for (int i = 0; i < v.size (); i++) ! { ! Attribute a = (Attribute)v.elementAt (i); ! if (a.isWhitespace ()) continue; ! String actualValue = actualTag.getAttribute (a.getName ()); ! String expectedValue = expectedTag.getAttribute (a.getName ()); assertStringEquals( ! "\nvalue for attribute " + a.getName () + " in tag "+expectedTag.getTagName()+" expected="+expectedValue+" but was "+actualValue+ "\n\nComplete Tag expected:\n"+expectedTag.toHtml()+ "\n\nComplete Tag actual:\n"+actualTag.toHtml()+ Index: ParserTest.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/ParserTest.java,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -d -r1.59 -r1.60 *** ParserTest.java 24 May 2004 16:18:30 -0000 1.59 --- ParserTest.java 2 Jul 2004 00:49:29 -0000 1.60 *************** *** 42,45 **** --- 42,46 ---- import org.htmlparser.PrototypicalNodeFactory; import org.htmlparser.Remark; + import org.htmlparser.Tag; import org.htmlparser.Text; import org.htmlparser.filters.NodeClassFilter; *************** *** 51,55 **** import org.htmlparser.tags.LinkTag; import org.htmlparser.tags.MetaTag; - import org.htmlparser.tags.Tag; import org.htmlparser.util.DefaultParserFeedback; import org.htmlparser.util.NodeIterator; --- 52,55 ---- |