diff options
author | Christian Heimes <christian@cheimes.de> | 2013-07-04 23:41:30 (GMT) |
---|---|---|
committer | Christian Heimes <christian@cheimes.de> | 2013-07-04 23:41:30 (GMT) |
commit | 20d46692fc95dfa4719131a3b3ce2fdaee77f280 (patch) | |
tree | 03298ecb59f665d45526665af299c6f48992127d | |
parent | 0c503c2c7f788beb486c3edf8f7232bcff2f3f08 (diff) | |
download | cpython-20d46692fc95dfa4719131a3b3ce2fdaee77f280.zip cpython-20d46692fc95dfa4719131a3b3ce2fdaee77f280.tar.gz cpython-20d46692fc95dfa4719131a3b3ce2fdaee77f280.tar.bz2 |
Issue #18347: ElementTree's html serializer now preserves the case of closing tags.
-rw-r--r-- | Lib/test/test_xml_etree.py | 10 | ||||
-rw-r--r-- | Lib/xml/etree/ElementTree.py | 6 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
3 files changed, 16 insertions, 3 deletions
diff --git a/Lib/test/test_xml_etree.py b/Lib/test/test_xml_etree.py index 4e161ca..4f06d20 100644 --- a/Lib/test/test_xml_etree.py +++ b/Lib/test/test_xml_etree.py @@ -1769,6 +1769,16 @@ def bug_200709_iter_comment(): """ +def bug_18347(): + """ + + >>> e = ET.XML('<html><CamelCase>text</CamelCase></html>') + >>> serialize(e) + '<html><CamelCase>text</CamelCase></html>' + >>> serialize(e, method="html") + '<html><CamelCase>text</CamelCase></html>' + """ + # -------------------------------------------------------------------- # reported on bugs.python.org diff --git a/Lib/xml/etree/ElementTree.py b/Lib/xml/etree/ElementTree.py index bb468cd..9f3e75d 100644 --- a/Lib/xml/etree/ElementTree.py +++ b/Lib/xml/etree/ElementTree.py @@ -988,15 +988,15 @@ def _serialize_html(write, elem, encoding, qnames, namespaces): # FIXME: handle boolean attributes write(" %s=\"%s\"" % (qnames[k], v)) write(">") - tag = tag.lower() + ltag = tag.lower() if text: - if tag == "script" or tag == "style": + if ltag == "script" or ltag == "style": write(_encode(text, encoding)) else: write(_escape_cdata(text, encoding)) for e in elem: _serialize_html(write, e, encoding, qnames, None) - if tag not in HTML_EMPTY: + if ltag not in HTML_EMPTY: write("</" + tag + ">") if elem.tail: write(_escape_cdata(elem.tail, encoding)) @@ -24,6 +24,9 @@ Core and Builtins Library ------- +- Issue #18347: ElementTree's html serializer now preserves the case of + closing tags. + - Issue #17261: Ensure multiprocessing's proxies use proper address. - Issue #17097: Make multiprocessing ignore EINTR. |