diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2008-05-23 15:18:28 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2008-05-23 15:18:28 (GMT) |
commit | 27e4a179f277b568f04d482765ab773068ae6ab6 (patch) | |
tree | d3e1911917a15ff77cbd5a1846064c6a28606d52 | |
parent | 8c255e4173cfc86ff7015b8f75dccf0d41b24003 (diff) | |
download | cpython-27e4a179f277b568f04d482765ab773068ae6ab6.zip cpython-27e4a179f277b568f04d482765ab773068ae6ab6.tar.gz cpython-27e4a179f277b568f04d482765ab773068ae6ab6.tar.bz2 |
Issue #1390: Raise ValueError in toxml when an invalid comment would
otherwise be produced.
-rw-r--r-- | Lib/test/test_minidom.py | 5 | ||||
-rw-r--r-- | Lib/xml/dom/minidom.py | 2 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
3 files changed, 10 insertions, 0 deletions
diff --git a/Lib/test/test_minidom.py b/Lib/test/test_minidom.py index 97bca2c..f1f1378 100644 --- a/Lib/test/test_minidom.py +++ b/Lib/test/test_minidom.py @@ -1314,6 +1314,11 @@ class MinidomTest(unittest.TestCase): for i in range(len(n1.childNodes)): stack.append((n1.childNodes[i], n2.childNodes[i])) + def testSerializeCommentNodeWithDoubleHyphen(self): + doc = create_doc_without_doctype() + doc.appendChild(doc.createComment("foo--bar")) + self.assertRaises(ValueError, doc.toxml) + def test_main(): run_unittest(MinidomTest) diff --git a/Lib/xml/dom/minidom.py b/Lib/xml/dom/minidom.py index ae96033..02e82d9 100644 --- a/Lib/xml/dom/minidom.py +++ b/Lib/xml/dom/minidom.py @@ -1128,6 +1128,8 @@ class Comment(Childless, CharacterData): self.data = self.nodeValue = data def writexml(self, writer, indent="", addindent="", newl=""): + if "--" in self.data: + raise ValueError("'--' is not allowed in a comment node") writer.write("%s<!--%s-->%s" % (indent, self.data, newl)) @@ -59,6 +59,9 @@ Extension Modules Library ------- +- Issue #1390: Raise ValueError in toxml when an invalid comment would + otherwise be produced. + - Issue #2914: TimedRotatingFileHandler now takes an optional keyword argument "utc" to use UTC time rather than local time. |