changeset: 90421:3e67d923a0df parent: 90419:004fe3449193 parent: 90420:13c1c5e3d2ee user: R David Murray date: Sun Apr 20 00:48:25 2014 -0400 files: Misc/ACKS Misc/NEWS description: Merge: #12220: improve minidom error when URI contains spaces. diff -r 004fe3449193 -r 3e67d923a0df Lib/test/test_minidom.py --- a/Lib/test/test_minidom.py Sat Apr 19 19:14:29 2014 -0700 +++ b/Lib/test/test_minidom.py Sun Apr 20 00:48:25 2014 -0400 @@ -1518,6 +1518,10 @@ doc2 = parseString(doc.toxml()) self.confirm(doc2.namespaceURI == xml.dom.EMPTY_NAMESPACE) + def testExceptionOnSpacesInXMLNSValue(self): + with self.assertRaisesRegex(ValueError, 'Unsupported syntax'): + parseString('') + def testDocRemoveChild(self): doc = parse(tstfile) title_tag = doc.documentElement.getElementsByTagName("TITLE")[0] diff -r 004fe3449193 -r 3e67d923a0df Lib/xml/dom/expatbuilder.py --- a/Lib/xml/dom/expatbuilder.py Sat Apr 19 19:14:29 2014 -0700 +++ b/Lib/xml/dom/expatbuilder.py Sun Apr 20 00:48:25 2014 -0400 @@ -121,10 +121,12 @@ qname = "%s:%s" % (prefix, localname) qname = intern(qname, qname) localname = intern(localname, localname) - else: + elif len(parts) == 2: uri, localname = parts prefix = EMPTY_PREFIX qname = localname = intern(localname, localname) + else: + raise ValueError("Unsupported syntax: spaces in URIs not supported: %r" % name) return intern(uri, uri), localname, prefix, qname diff -r 004fe3449193 -r 3e67d923a0df Misc/ACKS --- a/Misc/ACKS Sat Apr 19 19:14:29 2014 -0700 +++ b/Misc/ACKS Sun Apr 20 00:48:25 2014 -0400 @@ -1257,6 +1257,7 @@ Anthony Starks Oliver Steele Greg Stein +Marek Stepniowski Baruch Sterin Chris Stern Alex Stewart diff -r 004fe3449193 -r 3e67d923a0df Misc/NEWS --- a/Misc/NEWS Sat Apr 19 19:14:29 2014 -0700 +++ b/Misc/NEWS Sun Apr 20 00:48:25 2014 -0400 @@ -54,6 +54,9 @@ Library ------- +- Issue #12220: mindom now raises a custom ValueError indicating it doesn't + support spaces in URIs instead of letting a 'split' ValueError bubble up. + - Issue #21068: The ssl.PROTOCOL* constants are now enum members. - Issue #21262: New method assert_not_called for Mock.