bpo-34160: Preserve user specified order of Element attributes by rhettinger · Pull Request #10163 · python/cpython
Expand Up
@@ -5,6 +5,7 @@
# For this purpose, the module-level "ET" symbol is temporarily
# monkey-patched when running the "test_xml_etree_c" test suite.
import contextlib import copy import functools import html Expand Down Expand Up @@ -1044,6 +1045,25 @@ def test_html_empty_elems_serialization(self): method='html') self.assertEqual(serialized, expected)
def test_dump_attribute_order(self): # See BPO 34160 e = ET.Element('cirriculum', status='public', company='example') with support.captured_stdout() as stdout: ET.dump(e) self.assertEqual(stdout.getvalue(), '<cirriculum status="public" company="example" />\n')
def test_tree_write_attribute_order(self): # See BPO 34160 root = ET.Element('cirriculum', status='public', company='example') tree = ET.ElementTree(root) f = io.BytesIO() with contextlib.redirect_stdout(f): tree.write(f, encoding='utf-8', xml_declaration=True) self.assertEqual(f.getvalue(), b"<?xml version='1.0' encoding='utf-8'?>\n" b'<cirriculum status="public" company="example" />')
class XMLPullParserTest(unittest.TestCase):
Expand Down
import contextlib import copy import functools import html Expand Down Expand Up @@ -1044,6 +1045,25 @@ def test_html_empty_elems_serialization(self): method='html') self.assertEqual(serialized, expected)
def test_dump_attribute_order(self): # See BPO 34160 e = ET.Element('cirriculum', status='public', company='example') with support.captured_stdout() as stdout: ET.dump(e) self.assertEqual(stdout.getvalue(), '<cirriculum status="public" company="example" />\n')
def test_tree_write_attribute_order(self): # See BPO 34160 root = ET.Element('cirriculum', status='public', company='example') tree = ET.ElementTree(root) f = io.BytesIO() with contextlib.redirect_stdout(f): tree.write(f, encoding='utf-8', xml_declaration=True) self.assertEqual(f.getvalue(), b"<?xml version='1.0' encoding='utf-8'?>\n" b'<cirriculum status="public" company="example" />')
class XMLPullParserTest(unittest.TestCase):
Expand Down