summaryrefslogtreecommitdiff
path: root/python/tests
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@src.gnome.org>2004-08-18 09:13:18 +0000
committerDaniel Veillard <veillard@src.gnome.org>2004-08-18 09:13:18 +0000
commit259f0dfa8b4f29158954959b4d0d7c03dd1eab05 (patch)
tree4af5c522674b45a718108d53571e7644a0e794fe /python/tests
parentc14c3892a2b39b4684a1f69b8465a38556604caf (diff)
downloadlibxml2-259f0dfa8b4f29158954959b4d0d7c03dd1eab05.tar.gz
Applied patch from Torkel Lyng to add Schemas support to the Python
* xmlschemas.c include/libxml/xmlschemas.h python/generator.py python/libxml.c python/libxml_wrap.h python/types.c python/tests/schema.py python/tests/Makefile.am: Applied patch from Torkel Lyng to add Schemas support to the Python bindings and extend the schemas error API, registered a new test. * doc/* elfgcchack.h: rebuilt to regenerate the bindings Daniel
Diffstat (limited to 'python/tests')
-rw-r--r--python/tests/Makefile.am1
-rwxr-xr-xpython/tests/schema.py52
2 files changed, 53 insertions, 0 deletions
diff --git a/python/tests/Makefile.am b/python/tests/Makefile.am
index 2788c0ca..722e0ec6 100644
--- a/python/tests/Makefile.am
+++ b/python/tests/Makefile.am
@@ -32,6 +32,7 @@ PYTESTS= \
ctxterror.py\
readererr.py\
relaxng.py \
+ schema.py \
thread2.py \
sync.py \
tstLastError.py \
diff --git a/python/tests/schema.py b/python/tests/schema.py
new file mode 100755
index 00000000..bfa8423d
--- /dev/null
+++ b/python/tests/schema.py
@@ -0,0 +1,52 @@
+#!/usr/bin/python -u
+import libxml2
+import sys
+
+# Memory debug specific
+libxml2.debugMemory(1)
+
+schema="""<?xml version="1.0" encoding="iso-8859-1"?>
+<schema xmlns = "http://www.w3.org/2001/XMLSchema">
+ <element name = "Customer">
+ <complexType>
+ <sequence>
+ <element name = "FirstName" type = "string" />
+ <element name = "MiddleInitial" type = "string" />
+ <element name = "LastName" type = "string" />
+ </sequence>
+ <attribute name = "customerID" type = "integer" />
+ </complexType>
+ </element>
+</schema>"""
+
+instance="""<?xml version="1.0" encoding="iso-8859-1"?>
+<Customer customerID = "24332">
+ <FirstName>Raymond</FirstName>
+ <MiddleInitial>G</MiddleInitial>
+ <LastName>Bayliss</LastName>
+</Customer>
+"""
+
+ctxt_parser = libxml2.schemaNewMemParserCtxt(schema, len(schema))
+ctxt_schema = ctxt_parser.schemaParse()
+ctxt_valid = ctxt_schema.schemaNewValidCtxt()
+doc = libxml2.parseDoc(instance)
+ret = doc.schemaValidateDoc(ctxt_valid)
+if ret != 0:
+ print "error doing schema validation"
+ 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()
+