mirror of
https://github.com/RustPython/RustPython.git
synced 2026-06-02 19:39:49 +09:00
Patch test_sax.py
This commit is contained in:
39
Lib/test/test_sax.py
vendored
39
Lib/test/test_sax.py
vendored
@@ -133,6 +133,7 @@ class ParseTest(unittest.TestCase):
|
||||
parse(f, XMLGenerator(result, 'utf-8'))
|
||||
self.assertEqual(result.getvalue(), xml_str(self.data, 'utf-8'))
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_parse_text(self):
|
||||
encodings = ('us-ascii', 'iso-8859-1', 'utf-8',
|
||||
'utf-16', 'utf-16le', 'utf-16be')
|
||||
@@ -146,6 +147,7 @@ class ParseTest(unittest.TestCase):
|
||||
with open(TESTFN, 'r', encoding=encoding) as f:
|
||||
self.check_parse(f)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_parse_bytes(self):
|
||||
# UTF-8 is default encoding, US-ASCII is compatible with UTF-8,
|
||||
# UTF-16 is autodetected
|
||||
@@ -188,10 +190,12 @@ class ParseTest(unittest.TestCase):
|
||||
with self.assertRaises(SAXException):
|
||||
self.check_parse(f)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_parse_path_object(self):
|
||||
make_xml_file(self.data, 'utf-8', None)
|
||||
self.check_parse(FakePath(TESTFN))
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_parse_InputSource(self):
|
||||
# accept data without declared but with explicitly specified encoding
|
||||
make_xml_file(self.data, 'iso-8859-1', None)
|
||||
@@ -201,6 +205,7 @@ class ParseTest(unittest.TestCase):
|
||||
input.setEncoding('iso-8859-1')
|
||||
self.check_parse(input)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_parse_close_source(self):
|
||||
builtin_open = open
|
||||
fileobj = None
|
||||
@@ -216,12 +221,14 @@ class ParseTest(unittest.TestCase):
|
||||
self.check_parse(TESTFN)
|
||||
self.assertTrue(fileobj.closed)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def check_parseString(self, s):
|
||||
from xml.sax import parseString
|
||||
result = StringIO()
|
||||
parseString(s, XMLGenerator(result, 'utf-8'))
|
||||
self.assertEqual(result.getvalue(), xml_str(self.data, 'utf-8'))
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_parseString_text(self):
|
||||
encodings = ('us-ascii', 'iso-8859-1', 'utf-8',
|
||||
'utf-16', 'utf-16le', 'utf-16be')
|
||||
@@ -229,6 +236,7 @@ class ParseTest(unittest.TestCase):
|
||||
self.check_parseString(xml_str(self.data, encoding))
|
||||
self.check_parseString(self.data)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_parseString_bytes(self):
|
||||
# UTF-8 is default encoding, US-ASCII is compatible with UTF-8,
|
||||
# UTF-16 is autodetected
|
||||
@@ -708,6 +716,7 @@ class XmlgenTest:
|
||||
self.assertEqual(result.getvalue(),
|
||||
self.xml('<my:a xmlns:my="qux" b="c"/>'))
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_5027_1(self):
|
||||
# The xml prefix (as in xml:lang below) is reserved and bound by
|
||||
# definition to http://www.w3.org/XML/1998/namespace. XMLGenerator had
|
||||
@@ -882,6 +891,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
# ===== XMLReader support
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_binary_file(self):
|
||||
parser = create_parser()
|
||||
result = BytesIO()
|
||||
@@ -893,6 +903,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
self.assertEqual(result.getvalue(), xml_test_out)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_text_file(self):
|
||||
parser = create_parser()
|
||||
result = BytesIO()
|
||||
@@ -904,6 +915,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
self.assertEqual(result.getvalue(), xml_test_out)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
@requires_nonascii_filenames
|
||||
def test_expat_binary_file_nonascii(self):
|
||||
fname = os_helper.TESTFN_UNICODE
|
||||
@@ -919,6 +931,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
self.assertEqual(result.getvalue(), xml_test_out)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_binary_file_bytes_name(self):
|
||||
fname = os.fsencode(TEST_XMLFILE)
|
||||
parser = create_parser()
|
||||
@@ -931,6 +944,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
self.assertEqual(result.getvalue(), xml_test_out)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_binary_file_int_name(self):
|
||||
parser = create_parser()
|
||||
result = BytesIO()
|
||||
@@ -969,6 +983,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
source.setSystemId(systemId)
|
||||
return source
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_dtdhandler(self):
|
||||
parser = create_parser()
|
||||
handler = self.TestDTDHandler()
|
||||
@@ -985,6 +1000,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
[("GIF", "-//CompuServe//NOTATION Graphics Interchange Format 89a//EN", None)])
|
||||
self.assertEqual(handler._entities, [("img", None, "expat.gif", "GIF")])
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_external_dtd_enabled(self):
|
||||
# clear _opener global variable
|
||||
self.addCleanup(urllib.request.urlcleanup)
|
||||
@@ -1002,6 +1018,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
resolver.entities, [(None, 'unsupported://non-existing')]
|
||||
)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_external_dtd_default(self):
|
||||
parser = create_parser()
|
||||
resolver = self.TestEntityRecorder()
|
||||
@@ -1023,6 +1040,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
inpsrc.setByteStream(BytesIO(b"<entity/>"))
|
||||
return inpsrc
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_entityresolver_enabled(self):
|
||||
parser = create_parser()
|
||||
parser.setFeature(feature_external_ges, True)
|
||||
@@ -1039,6 +1057,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
self.assertEqual(result.getvalue(), start +
|
||||
b"<doc><entity></entity></doc>")
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_entityresolver_default(self):
|
||||
parser = create_parser()
|
||||
self.assertEqual(parser.getFeature(feature_external_ges), False)
|
||||
@@ -1065,6 +1084,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
def startElementNS(self, name, qname, attrs):
|
||||
self._attrs = attrs
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_attrs_empty(self):
|
||||
parser = create_parser()
|
||||
gather = self.AttrGatherer()
|
||||
@@ -1075,6 +1095,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
self.verify_empty_attrs(gather._attrs)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_attrs_wattr(self):
|
||||
parser = create_parser()
|
||||
gather = self.AttrGatherer()
|
||||
@@ -1085,6 +1106,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
self.verify_attrs_wattr(gather._attrs)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_nsattrs_empty(self):
|
||||
parser = create_parser(1)
|
||||
gather = self.AttrGatherer()
|
||||
@@ -1095,6 +1117,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
self.verify_empty_nsattrs(gather._attrs)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_nsattrs_wattr(self):
|
||||
parser = create_parser(1)
|
||||
gather = self.AttrGatherer()
|
||||
@@ -1120,6 +1143,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
# ===== InputSource support
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_inpsource_filename(self):
|
||||
parser = create_parser()
|
||||
result = BytesIO()
|
||||
@@ -1130,6 +1154,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
self.assertEqual(result.getvalue(), xml_test_out)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_inpsource_sysid(self):
|
||||
parser = create_parser()
|
||||
result = BytesIO()
|
||||
@@ -1140,6 +1165,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
self.assertEqual(result.getvalue(), xml_test_out)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
@requires_nonascii_filenames
|
||||
def test_expat_inpsource_sysid_nonascii(self):
|
||||
fname = os_helper.TESTFN_UNICODE
|
||||
@@ -1155,6 +1181,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
self.assertEqual(result.getvalue(), xml_test_out)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_inpsource_byte_stream(self):
|
||||
parser = create_parser()
|
||||
result = BytesIO()
|
||||
@@ -1168,6 +1195,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
self.assertEqual(result.getvalue(), xml_test_out)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_inpsource_character_stream(self):
|
||||
parser = create_parser()
|
||||
result = BytesIO()
|
||||
@@ -1183,6 +1211,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
# ===== IncrementalParser support
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_incremental(self):
|
||||
result = BytesIO()
|
||||
xmlgen = XMLGenerator(result)
|
||||
@@ -1195,6 +1224,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
self.assertEqual(result.getvalue(), start + b"<doc></doc>")
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_incremental_reset(self):
|
||||
result = BytesIO()
|
||||
xmlgen = XMLGenerator(result)
|
||||
@@ -1216,6 +1246,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
self.assertEqual(result.getvalue(), start + b"<doc>text</doc>")
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
@unittest.skipIf(pyexpat.version_info < (2, 6, 0),
|
||||
f'Expat {pyexpat.version_info} does not '
|
||||
'support reparse deferral')
|
||||
@@ -1241,6 +1272,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
self.assertEqual(result.getvalue(), start + b"<doc></doc>")
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_flush_reparse_deferral_disabled(self):
|
||||
result = BytesIO()
|
||||
xmlgen = XMLGenerator(result)
|
||||
@@ -1268,6 +1300,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
|
||||
# ===== Locator support
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_locator_noinfo(self):
|
||||
result = BytesIO()
|
||||
xmlgen = XMLGenerator(result)
|
||||
@@ -1282,6 +1315,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
self.assertEqual(parser.getPublicId(), None)
|
||||
self.assertEqual(parser.getLineNumber(), 1)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_locator_withinfo(self):
|
||||
result = BytesIO()
|
||||
xmlgen = XMLGenerator(result)
|
||||
@@ -1292,6 +1326,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
self.assertEqual(parser.getSystemId(), TEST_XMLFILE)
|
||||
self.assertEqual(parser.getPublicId(), None)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
@requires_nonascii_filenames
|
||||
def test_expat_locator_withinfo_nonascii(self):
|
||||
fname = os_helper.TESTFN_UNICODE
|
||||
@@ -1315,6 +1350,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||
# ===========================================================================
|
||||
|
||||
class ErrorReportingTest(unittest.TestCase):
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_inpsource_location(self):
|
||||
parser = create_parser()
|
||||
parser.setContentHandler(ContentHandler()) # do nothing
|
||||
@@ -1328,6 +1364,7 @@ class ErrorReportingTest(unittest.TestCase):
|
||||
except SAXException as e:
|
||||
self.assertEqual(e.getSystemId(), name)
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_expat_incomplete(self):
|
||||
parser = create_parser()
|
||||
parser.setContentHandler(ContentHandler()) # do nothing
|
||||
@@ -1464,6 +1501,7 @@ class LexicalHandlerTest(unittest.TestCase):
|
||||
self.end_of_dtd = False
|
||||
self.comments = []
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_handlers(self):
|
||||
class TestLexicalHandler(LexicalHandler):
|
||||
def __init__(self, test_harness, *args, **kwargs):
|
||||
@@ -1520,6 +1558,7 @@ class CDATAHandlerTest(unittest.TestCase):
|
||||
self.chardata = []
|
||||
self.in_cdata = False
|
||||
|
||||
@unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'xmlparser' object has no attribute 'SetParamEntityParsing'
|
||||
def test_handlers(self):
|
||||
class TestLexicalHandler(LexicalHandler):
|
||||
def __init__(self, test_harness, *args, **kwargs):
|
||||
|
||||
Reference in New Issue
Block a user