6 class TestCase(unittest.TestCase):
13 libxml2.debugMemory(1)
16 libxml2.cleanupParser()
17 if libxml2.debugMemory(1) != 0:
19 self.fail("Memory leak %d bytes" % (libxml2.debugMemory(1),))
23 def failUnlessXmlError(self,f,args,exc,domain,code,message,level,file,line):
24 """Run function f, with arguments args and expect an exception exc;
25 when the exception is raised, check the libxml2.lastError for
27 # disable the default error handler
28 libxml2.registerErrorHandler(None,None)
32 e = libxml2.lastError()
34 self.fail("lastError not set")
36 print("domain = ",e.domain())
37 print("code = ",e.code())
38 print("message =",repr(e.message()))
39 print("level =",e.level())
40 print("file =",e.file())
41 print("line =",e.line())
43 self.failUnlessEqual(domain,e.domain())
44 self.failUnlessEqual(code,e.code())
45 self.failUnlessEqual(message,e.message())
46 self.failUnlessEqual(level,e.level())
47 self.failUnlessEqual(file,e.file())
48 self.failUnlessEqual(line,e.line())
50 self.fail("exception %s should have been raised" % exc)
53 """Test readFile with a file that does not exist"""
54 self.failUnlessXmlError(libxml2.readFile,
57 domain=libxml2.XML_FROM_IO,
58 code=libxml2.XML_IO_LOAD_ERROR,
59 message='failed to load external entity "dummy.xml"\n',
60 level=libxml2.XML_ERR_WARNING,
65 """Test a well-formedness error: we get the last error only"""
67 self.failUnlessXmlError(libxml2.readMemory,
68 (s,len(s),"dummy.xml",None,0),
70 domain=libxml2.XML_FROM_PARSER,
71 code=libxml2.XML_ERR_TAG_NOT_FINISHED,
72 message='Premature end of data in tag x line 1\n',
73 level=libxml2.XML_ERR_FATAL,
77 if __name__ == "__main__":