mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Fix tests for issue #11159.
This commit is contained in:
parent
5a9c1a753f
commit
1a4ed4ce18
1 changed files with 16 additions and 0 deletions
|
@ -14,6 +14,7 @@ from xml.sax.expatreader import create_parser
|
||||||
from xml.sax.handler import feature_namespaces
|
from xml.sax.handler import feature_namespaces
|
||||||
from xml.sax.xmlreader import InputSource, AttributesImpl, AttributesNSImpl
|
from xml.sax.xmlreader import InputSource, AttributesImpl, AttributesNSImpl
|
||||||
from io import StringIO
|
from io import StringIO
|
||||||
|
import os.path
|
||||||
import shutil
|
import shutil
|
||||||
from test import support
|
from test import support
|
||||||
from test.support import findfile, run_unittest
|
from test.support import findfile, run_unittest
|
||||||
|
@ -27,6 +28,18 @@ try:
|
||||||
except UnicodeEncodeError:
|
except UnicodeEncodeError:
|
||||||
raise unittest.SkipTest("filename is not encodable to utf8")
|
raise unittest.SkipTest("filename is not encodable to utf8")
|
||||||
|
|
||||||
|
supports_nonascii_filenames = True
|
||||||
|
if not os.path.supports_unicode_filenames:
|
||||||
|
try:
|
||||||
|
support.TESTFN_UNICODE.encode(support.TESTFN_ENCODING)
|
||||||
|
except (UnicodeError, TypeError):
|
||||||
|
# Either the file system encoding is None, or the file name
|
||||||
|
# cannot be encoded in the file system encoding.
|
||||||
|
supports_nonascii_filenames = False
|
||||||
|
requires_nonascii_filenames = unittest.skipUnless(
|
||||||
|
supports_nonascii_filenames,
|
||||||
|
'Requires non-ascii filenames support')
|
||||||
|
|
||||||
ns_uri = "http://www.python.org/xml-ns/saxtest/"
|
ns_uri = "http://www.python.org/xml-ns/saxtest/"
|
||||||
|
|
||||||
class XmlTestBase(unittest.TestCase):
|
class XmlTestBase(unittest.TestCase):
|
||||||
|
@ -483,6 +496,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||||
|
|
||||||
self.assertEqual(result.getvalue(), xml_test_out)
|
self.assertEqual(result.getvalue(), xml_test_out)
|
||||||
|
|
||||||
|
@requires_nonascii_filenames
|
||||||
def test_expat_file_nonascii(self):
|
def test_expat_file_nonascii(self):
|
||||||
fname = support.TESTFN_UNICODE
|
fname = support.TESTFN_UNICODE
|
||||||
shutil.copyfile(TEST_XMLFILE, fname)
|
shutil.copyfile(TEST_XMLFILE, fname)
|
||||||
|
@ -636,6 +650,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||||
|
|
||||||
self.assertEqual(result.getvalue(), xml_test_out)
|
self.assertEqual(result.getvalue(), xml_test_out)
|
||||||
|
|
||||||
|
@requires_nonascii_filenames
|
||||||
def test_expat_inpsource_sysid_nonascii(self):
|
def test_expat_inpsource_sysid_nonascii(self):
|
||||||
fname = support.TESTFN_UNICODE
|
fname = support.TESTFN_UNICODE
|
||||||
shutil.copyfile(TEST_XMLFILE, fname)
|
shutil.copyfile(TEST_XMLFILE, fname)
|
||||||
|
@ -724,6 +739,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||||
self.assertEqual(parser.getSystemId(), TEST_XMLFILE)
|
self.assertEqual(parser.getSystemId(), TEST_XMLFILE)
|
||||||
self.assertEqual(parser.getPublicId(), None)
|
self.assertEqual(parser.getPublicId(), None)
|
||||||
|
|
||||||
|
@requires_nonascii_filenames
|
||||||
def test_expat_locator_withinfo_nonascii(self):
|
def test_expat_locator_withinfo_nonascii(self):
|
||||||
fname = support.TESTFN_UNICODE
|
fname = support.TESTFN_UNICODE
|
||||||
shutil.copyfile(TEST_XMLFILE, fname)
|
shutil.copyfile(TEST_XMLFILE, fname)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue