summaryrefslogtreecommitdiffstats
path: root/Lib/dos-8x3/test_min.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/dos-8x3/test_min.py')
-rw-r--r--Lib/dos-8x3/test_min.py125
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