gh-96175: add missing self._localName assignment in xml.dom.minidom.Attr (#96176)

X-Ref: https://github.com/python/typeshed/pull/8590#discussion_r951473977

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
This commit is contained in:
Kevin Kirsche 2022-08-23 12:16:02 -04:00 committed by GitHub
parent 575f8880bf
commit 58f6953d6d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 1 deletions

View File

@ -9,7 +9,7 @@ import unittest
import pyexpat
import xml.dom.minidom
from xml.dom.minidom import parse, Node, Document, parseString
from xml.dom.minidom import parse, Attr, Node, Document, parseString
from xml.dom.minidom import getDOMImplementation
from xml.parsers.expat import ExpatError
@ -77,6 +77,20 @@ class MinidomTest(unittest.TestCase):
dom.unlink()
self.confirm(isinstance(dom, Document))
def testAttrModeSetsParamsAsAttrs(self):
attr = Attr("qName", "namespaceURI", "localName", "prefix")
self.assertEqual(attr.name, "qName")
self.assertEqual(attr.namespaceURI, "namespaceURI")
self.assertEqual(attr.prefix, "prefix")
self.assertEqual(attr.localName, "localName")
def testAttrModeSetsNonOptionalAttrs(self):
attr = Attr("qName", "namespaceURI", None, "prefix")
self.assertEqual(attr.name, "qName")
self.assertEqual(attr.namespaceURI, "namespaceURI")
self.assertEqual(attr.prefix, "prefix")
self.assertEqual(attr.localName, attr.name)
def testGetElementsByTagName(self):
dom = parse(tstfile)
self.confirm(dom.getElementsByTagName("LI") == \

View File

@ -358,6 +358,8 @@ class Attr(Node):
self._name = qName
self.namespaceURI = namespaceURI
self._prefix = prefix
if localName is not None:
self._localName = localName
self.childNodes = NodeList()
# Add the single child node that represents the value of the attr

View File

@ -0,0 +1 @@
Fix unused ``localName`` parameter in the ``Attr`` class in :mod:`xml.dom.minidom`.