summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_pyexpat.py
diff options
context:
space:
mode:
authorFred Drake <fdrake@acm.org>2000-12-23 22:12:07 (GMT)
committerFred Drake <fdrake@acm.org>2000-12-23 22:12:07 (GMT)
commit1e0611b208d4efec016fcfd621accddb40f3af6a (patch)
tree49639ff98c4255d8c7ebc4f5f87e5b529d8e78d1 /Lib/test/test_pyexpat.py
parent9a1a7dda8f5f3c4c66ab1e24d9b8cf4895249868 (diff)
downloadcpython-1e0611b208d4efec016fcfd621accddb40f3af6a.zip
cpython-1e0611b208d4efec016fcfd621accddb40f3af6a.tar.gz
cpython-1e0611b208d4efec016fcfd621accddb40f3af6a.tar.bz2
The "context" parameter to the ExternalEntityRefParameter exposes internal
information from the Expat library that is not part of its public API. Do not print this information as the format of the string may (and will) change as Expat evolves. Add additional tests to make sure the ParserCreate() function raises the right exceptions on illegal parameters.
Diffstat (limited to 'Lib/test/test_pyexpat.py')
-rw-r--r--Lib/test/test_pyexpat.py33
1 files changed, 32 insertions, 1 deletions
diff --git a/Lib/test/test_pyexpat.py b/Lib/test/test_pyexpat.py
index fae1849..0c400b4 100644
--- a/Lib/test/test_pyexpat.py
+++ b/Lib/test/test_pyexpat.py
@@ -50,7 +50,7 @@ class Outputter:
def ExternalEntityRefHandler(self, *args):
context, base, sysId, pubId = args
- print 'External entity ref:', args
+ print 'External entity ref:', args[1:]
return 1
def DefaultHandler(self, userData):
@@ -150,3 +150,34 @@ except expat.error:
print '** Line', parser.ErrorLineNumber
print '** Column', parser.ErrorColumnNumber
print '** Byte', parser.ErrorByteIndex
+
+
+# Tests that make sure we get errors when the namespace_separator value
+# is illegal, and that we don't for good values:
+print
+print "Testing constructor for proper handling of namespace_separator values:"
+expat.ParserCreate()
+expat.ParserCreate(namespace_separator=None)
+expat.ParserCreate(namespace_separator=' ')
+print "Legal values tested o.k."
+try:
+ expat.ParserCreate(namespace_separator=42)
+except TypeError, e:
+ print "Caught expected TypeError:"
+ print e
+else:
+ print "Failed to catch expected TypeError."
+try:
+ expat.ParserCreate(namespace_separator='too long')
+except ValueError, e:
+ print "Caught expected ValueError:"
+ print e
+else:
+ print "Failed to catch expected ValueError."
+try:
+ expat.ParserCreate(namespace_separator='') # too short
+except ValueError, e:
+ print "Caught expected ValueError:"
+ print e
+else:
+ print "Failed to catch expected ValueError."