summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_sax.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2013-02-02 08:31:50 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2013-02-02 08:31:50 (GMT)
commitefbf40f9e1db0c5e4298d8ea7b4187226e8dfab0 (patch)
tree2fb95a077dd3a318db7666df8b1ea84996bb2c05 /Lib/test/test_sax.py
parent380f7a186ffb611a0d2bea8f95dd9d6625f9285a (diff)
parentd52023968afd0124b0812a4c8d5b194b19c6e979 (diff)
downloadcpython-efbf40f9e1db0c5e4298d8ea7b4187226e8dfab0.zip
cpython-efbf40f9e1db0c5e4298d8ea7b4187226e8dfab0.tar.gz
cpython-efbf40f9e1db0c5e4298d8ea7b4187226e8dfab0.tar.bz2
Issue #11159: Add tests for testing SAX parser support of non-ascii file names.
Diffstat (limited to 'Lib/test/test_sax.py')
-rw-r--r--Lib/test/test_sax.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/Lib/test/test_sax.py b/Lib/test/test_sax.py
index 7bb30cd..c4b3276 100644
--- a/Lib/test/test_sax.py
+++ b/Lib/test/test_sax.py
@@ -14,6 +14,8 @@ from xml.sax.expatreader import create_parser
from xml.sax.handler import feature_namespaces
from xml.sax.xmlreader import InputSource, AttributesImpl, AttributesNSImpl
from io import StringIO
+import shutil
+from test import support
from test.support import findfile, run_unittest
import unittest
@@ -481,6 +483,20 @@ class ExpatReaderTest(XmlTestBase):
self.assertEqual(result.getvalue(), xml_test_out)
+ def test_expat_file_nonascii(self):
+ fname = support.TESTFN_UNICODE
+ shutil.copyfile(TEST_XMLFILE, fname)
+ self.addCleanup(support.unlink, fname)
+
+ parser = create_parser()
+ result = StringIO()
+ xmlgen = XMLGenerator(result)
+
+ parser.setContentHandler(xmlgen)
+ parser.parse(open(fname))
+
+ self.assertEqual(result.getvalue(), xml_test_out)
+
# ===== DTDHandler support
class TestDTDHandler:
@@ -620,6 +636,20 @@ class ExpatReaderTest(XmlTestBase):
self.assertEqual(result.getvalue(), xml_test_out)
+ def test_expat_inpsource_sysid_nonascii(self):
+ fname = support.TESTFN_UNICODE
+ shutil.copyfile(TEST_XMLFILE, fname)
+ self.addCleanup(support.unlink, fname)
+
+ parser = create_parser()
+ result = StringIO()
+ xmlgen = XMLGenerator(result)
+
+ parser.setContentHandler(xmlgen)
+ parser.parse(InputSource(fname))
+
+ self.assertEqual(result.getvalue(), xml_test_out)
+
def test_expat_inpsource_stream(self):
parser = create_parser()
result = StringIO()
@@ -694,6 +724,20 @@ class ExpatReaderTest(XmlTestBase):
self.assertEqual(parser.getSystemId(), TEST_XMLFILE)
self.assertEqual(parser.getPublicId(), None)
+ def test_expat_locator_withinfo_nonascii(self):
+ fname = support.TESTFN_UNICODE
+ shutil.copyfile(TEST_XMLFILE, fname)
+ self.addCleanup(support.unlink, fname)
+
+ result = StringIO()
+ xmlgen = XMLGenerator(result)
+ parser = create_parser()
+ parser.setContentHandler(xmlgen)
+ parser.parse(fname)
+
+ self.assertEqual(parser.getSystemId(), fname)
+ self.assertEqual(parser.getPublicId(), None)
+
# ===========================================================================
#