summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/output/test_pyexpat15
-rw-r--r--Lib/test/test_pyexpat.py33
2 files changed, 44 insertions, 4 deletions
diff --git a/Lib/test/output/test_pyexpat b/Lib/test/output/test_pyexpat
index 6aed69d..4d9981c 100644
--- a/Lib/test/output/test_pyexpat
+++ b/Lib/test/output/test_pyexpat
@@ -30,7 +30,7 @@ Character data:
End of CDATA section
End element:
'sub2'
-External entity ref: ('http://www.python.org/namespace=http://www.w3.org/XML/1998/namespace\014external_entity', None, 'entity.file', None)
+External entity ref: (None, 'entity.file', None)
End element:
'root'
PI:
@@ -60,7 +60,7 @@ Character data:
End of CDATA section
End element:
u'sub2'
-External entity ref: (u'http://www.python.org/namespace=http://www.w3.org/XML/1998/namespace\014external_entity', None, u'entity.file', None)
+External entity ref: (None, u'entity.file', None)
End element:
u'root'
PI:
@@ -90,6 +90,15 @@ Character data:
End of CDATA section
End element:
u'sub2'
-External entity ref: (u'http://www.python.org/namespace=http://www.w3.org/XML/1998/namespace\014external_entity', None, u'entity.file', None)
+External entity ref: (None, u'entity.file', None)
End element:
u'root'
+
+Testing constructor for proper handling of namespace_separator values:
+Legal values tested o.k.
+Caught expected TypeError:
+ParserCreate, argument 2: expected string or None, int found
+Caught expected ValueError:
+namespace_separator must be one character, omitted, or None
+Caught expected ValueError:
+namespace_separator must be one character, omitted, or None
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."