Fix tests for issue #11159.
This commit is contained in:
commit
e080a7a5d4
|
@ -14,6 +14,7 @@ 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 os.path
|
||||
import shutil
|
||||
from test import support
|
||||
from test.support import findfile, run_unittest
|
||||
|
@ -27,6 +28,18 @@ try:
|
|||
except UnicodeEncodeError:
|
||||
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/"
|
||||
|
||||
class XmlTestBase(unittest.TestCase):
|
||||
|
@ -483,6 +496,7 @@ class ExpatReaderTest(XmlTestBase):
|
|||
|
||||
self.assertEqual(result.getvalue(), xml_test_out)
|
||||
|
||||
@requires_nonascii_filenames
|
||||
def test_expat_file_nonascii(self):
|
||||
fname = support.TESTFN_UNICODE
|
||||
shutil.copyfile(TEST_XMLFILE, fname)
|
||||
|
@ -636,6 +650,7 @@ class ExpatReaderTest(XmlTestBase):
|
|||
|
||||
self.assertEqual(result.getvalue(), xml_test_out)
|
||||
|
||||
@requires_nonascii_filenames
|
||||
def test_expat_inpsource_sysid_nonascii(self):
|
||||
fname = support.TESTFN_UNICODE
|
||||
shutil.copyfile(TEST_XMLFILE, fname)
|
||||
|
@ -724,6 +739,7 @@ class ExpatReaderTest(XmlTestBase):
|
|||
self.assertEqual(parser.getSystemId(), TEST_XMLFILE)
|
||||
self.assertEqual(parser.getPublicId(), None)
|
||||
|
||||
@requires_nonascii_filenames
|
||||
def test_expat_locator_withinfo_nonascii(self):
|
||||
fname = support.TESTFN_UNICODE
|
||||
shutil.copyfile(TEST_XMLFILE, fname)
|
||||
|
|
Loading…
Reference in New Issue