aboutsummaryrefslogtreecommitdiff
path: root/libxml2-2.9.10/python/tests/readererr.py
diff options
context:
space:
mode:
Diffstat (limited to 'libxml2-2.9.10/python/tests/readererr.py')
-rwxr-xr-xlibxml2-2.9.10/python/tests/readererr.py56
1 files changed, 56 insertions, 0 deletions
diff --git a/libxml2-2.9.10/python/tests/readererr.py b/libxml2-2.9.10/python/tests/readererr.py
new file mode 100755
index 0000000..c8ceba5
--- /dev/null
+++ b/libxml2-2.9.10/python/tests/readererr.py
@@ -0,0 +1,56 @@
+#!/usr/bin/python -u
+#
+# this tests the basic APIs of the XmlTextReader interface
+#
+import libxml2
+import sys
+try:
+ import StringIO
+ str_io = StringIO.StringIO
+except:
+ import io
+ str_io = io.StringIO
+
+# Memory debug specific
+libxml2.debugMemory(1)
+
+expect="""--> (3) test1:1:xmlns: URI foo is not absolute
+--> (4) test1:1:Opening and ending tag mismatch: c line 1 and a
+"""
+err=""
+def myErrorHandler(arg,msg,severity,locator):
+ global err
+ err = err + "%s (%d) %s:%d:%s" % (arg,severity,locator.BaseURI(),locator.LineNumber(),msg)
+
+f = str_io("""<a xmlns="foo"><b b1="b1"/><c>content of c</a>""")
+input = libxml2.inputBuffer(f)
+reader = input.newTextReader("test1")
+reader.SetErrorHandler(myErrorHandler,"-->")
+while reader.Read() == 1:
+ pass
+
+if err != expect:
+ print("error")
+ print("received %s" %(err))
+ print("expected %s" %(expect))
+ sys.exit(1)
+
+reader.SetErrorHandler(None,None)
+if reader.GetErrorHandler() != (None,None):
+ print("GetErrorHandler failed")
+ sys.exit(1)
+
+#
+# cleanup for memory allocation counting
+#
+del f
+del input
+del reader
+
+# Memory debug specific
+libxml2.cleanupParser()
+if libxml2.debugMemory(1) == 0:
+ print("OK")
+else:
+ print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
+ libxml2.dumpMemory()