bpo-42151: don't set specified_attributes=1 in pure Python ElementTree (GH-22987)

This commit is contained in:
Felix C. Stegerman 2021-02-24 03:25:31 +01:00 committed by GitHub
parent b9fe16a027
commit 1f433406bd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 2 deletions

View file

@ -108,6 +108,19 @@ EXTERNAL_ENTITY_XML = """\
<document>&entity;</document>
"""
ATTLIST_XML = """\
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Foo [
<!ELEMENT foo (bar*)>
<!ELEMENT bar (#PCDATA)*>
<!ATTLIST bar xml:lang CDATA "eng">
<!ENTITY qux "quux">
]>
<foo>
<bar>&qux;</bar>
</foo>
"""
def checkwarnings(*filters, quiet=False):
def decorator(test):
def newtest(*args, **kwargs):
@ -1354,6 +1367,12 @@ class ElementTreeTest(unittest.TestCase):
self.assertEqual(serialize(root, method='html'),
'<cirriculum status="public" company="example"></cirriculum>')
def test_attlist_default(self):
# Test default attribute values; See BPO 42151.
root = ET.fromstring(ATTLIST_XML)
self.assertEqual(root[0].attrib,
{'{http://www.w3.org/XML/1998/namespace}lang': 'eng'})
class XMLPullParserTest(unittest.TestCase):