From 0fc063df3ab2ad380d532d210dd1001de473e51b Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Mon, 4 Apr 2005 18:23:13 +0000 Subject: Load /tmp/tmp.98zkCi/libxml2-2.6.19 into packages/libxml2/branches/upstream/current. --- python/tests/validSchemas.py | 83 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100755 python/tests/validSchemas.py (limited to 'python/tests/validSchemas.py') diff --git a/python/tests/validSchemas.py b/python/tests/validSchemas.py new file mode 100755 index 0000000..d4d62b2 --- /dev/null +++ b/python/tests/validSchemas.py @@ -0,0 +1,83 @@ +#!/usr/bin/python -u +import libxml2 +import sys + +ARG = 'test string' + +class ErrorHandler: + + def __init__(self): + self.errors = [] + + def handler(self, msg, data): + if data != ARG: + raise Exception, "Error handler did not receive correct argument" + self.errors.append(msg) + +# Memory debug specific +libxml2.debugMemory(1) + +schema=""" + + + + + + + + + + + +""" + +valid=""" + + Raymond + G + Bayliss + +""" + +invalid=""" + + G + Bayliss + +""" + +e = ErrorHandler() +ctxt_parser = libxml2.schemaNewMemParserCtxt(schema, len(schema)) +ctxt_schema = ctxt_parser.schemaParse() +ctxt_valid = ctxt_schema.schemaNewValidCtxt() +ctxt_valid.setValidityErrorHandler(e.handler, e.handler, ARG) + +# Test valid document +doc = libxml2.parseDoc(valid) +ret = doc.schemaValidateDoc(ctxt_valid) +if ret != 0 or e.errors: + print "error doing schema validation" + sys.exit(1) +doc.freeDoc() + +# Test invalid document +doc = libxml2.parseDoc(invalid) +ret = doc.schemaValidateDoc(ctxt_valid) +if ret == 0 or not e.errors: + print "Error: document supposer to be schema invalid" + sys.exit(1) +doc.freeDoc() + +del ctxt_parser +del ctxt_schema +del ctxt_valid +libxml2.schemaCleanupTypes() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print "OK" +else: + print "Memory leak %d bytes" % (libxml2.debugMemory(1)) + libxml2.dumpMemory() + -- cgit v1.2.3