mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
Issue #25047: Respect case writing XML encoding declarations
This restores the ability to write encoding names in uppercase like "UTF-8", which worked in Python 2.
This commit is contained in:
parent
f94471c140
commit
89f76d3f91
3 changed files with 22 additions and 12 deletions
|
@ -2396,14 +2396,21 @@ class IOTest(unittest.TestCase):
|
|||
elem = ET.Element("tag")
|
||||
elem.text = "abc"
|
||||
self.assertEqual(serialize(elem), '<tag>abc</tag>')
|
||||
self.assertEqual(serialize(elem, encoding="utf-8"),
|
||||
b'<tag>abc</tag>')
|
||||
self.assertEqual(serialize(elem, encoding="us-ascii"),
|
||||
b'<tag>abc</tag>')
|
||||
for enc in ("utf-8", "us-ascii"):
|
||||
with self.subTest(enc):
|
||||
self.assertEqual(serialize(elem, encoding=enc),
|
||||
b'<tag>abc</tag>')
|
||||
self.assertEqual(serialize(elem, encoding=enc.upper()),
|
||||
b'<tag>abc</tag>')
|
||||
for enc in ("iso-8859-1", "utf-16", "utf-32"):
|
||||
self.assertEqual(serialize(elem, encoding=enc),
|
||||
("<?xml version='1.0' encoding='%s'?>\n"
|
||||
"<tag>abc</tag>" % enc).encode(enc))
|
||||
with self.subTest(enc):
|
||||
self.assertEqual(serialize(elem, encoding=enc),
|
||||
("<?xml version='1.0' encoding='%s'?>\n"
|
||||
"<tag>abc</tag>" % enc).encode(enc))
|
||||
upper = enc.upper()
|
||||
self.assertEqual(serialize(elem, encoding=upper),
|
||||
("<?xml version='1.0' encoding='%s'?>\n"
|
||||
"<tag>abc</tag>" % upper).encode(enc))
|
||||
|
||||
elem = ET.Element("tag")
|
||||
elem.text = "<&\"\'>"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue