diff options
Diffstat (limited to 'Lib/dos-8x3/test_min.py')
-rw-r--r-- | Lib/dos-8x3/test_min.py | 125 |
1 files changed, 77 insertions, 48 deletions
diff --git a/Lib/dos-8x3/test_min.py b/Lib/dos-8x3/test_min.py index 73c8ac4..8a63535 100644 --- a/Lib/dos-8x3/test_min.py +++ b/Lib/dos-8x3/test_min.py @@ -5,6 +5,7 @@ from xml.dom.minidom import parse, Node, Document, parseString import os.path import sys import traceback +from test_support import verbose if __name__ == "__main__": base = sys.argv[0] @@ -13,15 +14,28 @@ else: tstfile = os.path.join(os.path.dirname(base), "test.xml") del base +def confirm( test, testname="Test" ): + if test: + print "Passed " + testname + else: + print "Failed " + testname + raise Exception + Node._debug=1 +def testParseFromFile(): + from StringIO import StringIO + dom=parse( StringIO( open( tstfile ).read() ) ) + dom.unlink() + confirm(isinstance(dom,Document)) + def testGetElementsByTagName( ): dom=parse( tstfile ) - assert dom.getElementsByTagName( "LI" )==\ - dom.documentElement.getElementsByTagName( "LI" ) + confirm( dom.getElementsByTagName( "LI" )==\ + dom.documentElement.getElementsByTagName( "LI" ) ) dom.unlink() dom=None - assert( len( Node.allnodes ))==0 + confirm (len( Node.allnodes )==0) def testInsertBefore( ): dom=parse( tstfile ) @@ -32,44 +46,44 @@ def testInsertBefore( ): #docel.insertBefore( dom.createProcessingInstruction("a", "b"), # docel.childNodes[0]) - #assert docel.childNodes[0].target=="a" - #assert docel.childNodes[2].target=="a" + #confirm( docel.childNodes[0].tet=="a" ) + #confirm( docel.childNodes[2].tet=="a" ) dom.unlink() del dom del docel - assert( len( Node.allnodes ))==0 + confirm( len( Node.allnodes )==0) def testAppendChild(): dom=parse( tstfile ) dom.documentElement.appendChild( dom.createComment( u"Hello" )) - assert dom.documentElement.childNodes[-1].nodeName=="#comment" - assert dom.documentElement.childNodes[-1].data=="Hello" + confirm( dom.documentElement.childNodes[-1].nodeName=="#comment" ) + confirm( dom.documentElement.childNodes[-1].data=="Hello" ) dom.unlink() dom=None - assert( len( Node.allnodes ))==0 + confirm( len( Node.allnodes )==0 ) def testNonZero(): dom=parse( tstfile ) - assert dom # should not be zero + confirm( dom )# should not be zero dom.appendChild( dom.createComment( "foo" ) ) - assert not dom.childNodes[-1].childNodes + confirm( not dom.childNodes[-1].childNodes ) dom.unlink() dom=None - assert( len( Node.allnodes ))==0 + confirm( len( Node.allnodes )==0 ) def testUnlink(): dom=parse( tstfile ) dom.unlink() dom=None - assert( len( Node.allnodes ))==0 + confirm( len( Node.allnodes )==0 ) def testElement(): dom=Document() dom.appendChild( dom.createElement( "abc" ) ) - assert dom.documentElement + confirm( dom.documentElement ) dom.unlink() dom=None - assert( len( Node.allnodes ))==0 + confirm( len( Node.allnodes )==0 ) def testAAA(): dom=parseString( "<abc/>" ) @@ -91,20 +105,20 @@ def testAddAttr(): child=dom.appendChild( dom.createElement( "abc" ) ) child.setAttribute( "def", "ghi" ) - assert child.getAttribute( "def" )=="ghi" - assert child.attributes["def"].value=="ghi" + confirm( child.getAttribute( "def" )=="ghi" ) + confirm( child.attributes["def"].value=="ghi" ) child.setAttribute( "jkl", "mno" ) - assert child.getAttribute( "jkl" )=="mno" - assert child.attributes["jkl"].value=="mno" + confirm( child.getAttribute( "jkl" )=="mno" ) + confirm( child.attributes["jkl"].value=="mno" ) - assert len( child.attributes )==2 + confirm( len( child.attributes )==2 ) child.setAttribute( "def", "newval" ) - assert child.getAttribute( "def" )=="newval" - assert child.attributes["def"].value=="newval" + confirm( child.getAttribute( "def" )=="newval" ) + confirm( child.attributes["def"].value=="newval" ) - assert len( child.attributes )==2 + confirm( len( child.attributes )==2 ) dom.unlink() dom=None @@ -114,22 +128,22 @@ def testDeleteAttr(): dom=Document() child=dom.appendChild( dom.createElement( "abc" ) ) - assert len( child.attributes)==0 + confirm( len( child.attributes)==0 ) child.setAttribute( "def", "ghi" ) - assert len( child.attributes)==1 + confirm( len( child.attributes)==1 ) del child.attributes["def"] - assert len( child.attributes)==0 + confirm( len( child.attributes)==0 ) dom.unlink() - assert( len( Node.allnodes ))==0 + confirm( len( Node.allnodes )==0 ) def testRemoveAttr(): dom=Document() child=dom.appendChild( dom.createElement( "abc" ) ) child.setAttribute( "def", "ghi" ) - assert len( child.attributes)==1 + confirm( len( child.attributes)==1 ) child.removeAttribute("def" ) - assert len( child.attributes)==0 + confirm( len( child.attributes)==0 ) dom.unlink() @@ -140,9 +154,9 @@ def testRemoveAttrNS(): child.setAttributeNS( "http://www.w3.org", "xmlns:python", "http://www.python.org" ) child.setAttributeNS( "http://www.python.org", "python:abcattr", "foo" ) - assert len( child.attributes )==2 + confirm( len( child.attributes )==2 ) child.removeAttributeNS( "http://www.python.org", "abcattr" ) - assert len( child.attributes )==1 + confirm( len( child.attributes )==1 ) dom.unlink() dom=None @@ -151,31 +165,31 @@ def testRemoveAttributeNode(): dom=Document() child=dom.appendChild( dom.createElement( "foo" ) ) child.setAttribute( "spam", "jam" ) - assert len( child.attributes )==1 + confirm( len( child.attributes )==1 ) node=child.getAttributeNode( "spam" ) child.removeAttributeNode( node ) - assert len( child.attributes )==0 + confirm( len( child.attributes )==0 ) dom.unlink() dom=None - assert len( Node.allnodes )==0 + confirm( len( Node.allnodes )==0 ) def testChangeAttr(): dom=parseString( "<abc/>" ) el=dom.documentElement el.setAttribute( "spam", "jam" ) - assert len( el.attributes )==1 + confirm( len( el.attributes )==1 ) el.setAttribute( "spam", "bam" ) - assert len( el.attributes )==1 + confirm( len( el.attributes )==1 ) el.attributes["spam"]="ham" - assert len( el.attributes )==1 + confirm( len( el.attributes )==1 ) el.setAttribute( "spam2", "bam" ) - assert len( el.attributes )==2 + confirm( len( el.attributes )==2 ) el.attributes[ "spam2"]= "bam2" - assert len( el.attributes )==2 + confirm( len( el.attributes )==2 ) dom.unlink() dom=None - assert len( Node.allnodes )==0 + confirm( len( Node.allnodes )==0 ) def testGetAttrList(): pass @@ -199,7 +213,7 @@ def testElementReprAndStr(): el=dom.appendChild( dom.createElement( "abc" ) ) string1=repr( el ) string2=str( el ) - assert string1==string2 + confirm( string1==string2 ) dom.unlink() # commented out until Fredrick's fix is checked in @@ -208,25 +222,25 @@ def _testElementReprAndStrUnicode(): el=dom.appendChild( dom.createElement( u"abc" ) ) string1=repr( el ) string2=str( el ) - assert string1==string2 + confirm( string1==string2 ) dom.unlink() # commented out until Fredrick's fix is checked in def _testElementReprAndStrUnicodeNS(): dom=Document() el=dom.appendChild( - dom.createElementNS( u"http://www.slashdot.org", u"slash:abc" )) + dom.createElementNS( u"http://www.slashdot.org", u"slash:abc" )) string1=repr( el ) string2=str( el ) - assert string1==string2 - assert string1.find("slash:abc" )!=-1 + confirm( string1==string2 ) + confirm( string1.find("slash:abc" )!=-1 ) dom.unlink() def testAttributeRepr(): dom=Document() el=dom.appendChild( dom.createElement( u"abc" ) ) node=el.setAttribute( "abc", "def" ) - assert str( node ) == repr( node ) + confirm( str( node ) == repr( node ) ) dom.unlink() def testTextNodeRepr(): pass @@ -312,6 +326,9 @@ def testClonePIDeep(): pass names=globals().keys() names.sort() + +works=1 + for name in names: if name.startswith( "test" ): func=globals()[name] @@ -320,12 +337,24 @@ for name in names: print "Test Succeeded", name if len( Node.allnodes ): print "Garbage left over:" - print Node.allnodes.items()[0:10] + if verbose: + print Node.allnodes.items()[0:10] + else: + # Don't print specific nodes if repeatable results + # are needed + print len(Node.allnodes) Node.allnodes={} except Exception, e : + works=0 print "Test Failed: ", name apply( traceback.print_exception, sys.exc_info() ) print `e` Node.allnodes={} - raise +if works: + print "All tests succeeded" +else: + print "\n\n\n\n************ Check for failures!" + +Node.debug = None # Delete debug output collected in a StringIO object +Node._debug = 0 # And reset debug mode |