diff --git a/Lib/test/test_xml_etree.py b/Lib/test/test_xml_etree.py --- a/Lib/test/test_xml_etree.py +++ b/Lib/test/test_xml_etree.py @@ -2295,6 +2295,18 @@ ET.tostring(root, 'utf-16'), b''.join(ET.tostringlist(root, 'utf-16'))) + def test_write_with_declaration(self): + elem = ET.Element("tag") + elem.text = "<&\"\'>" + self.assertEqual(serialize(elem, xml_declaration=True), + "\n<&\"'>") + self.assertEqual(serialize(elem, xml_declaration=True, encoding="utf-8"), + b"\n<&\"'>") + self.assertEqual(serialize(elem, xml_declaration=False), + "<&\"'>") + self.assertEqual(serialize(elem, xml_declaration=False, encoding="utf-8"), + b"<&\"'>") + class ParseErrorTest(unittest.TestCase): def test_subclass(self):