summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2015-04-07 16:09:01 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2015-04-07 16:09:01 (GMT)
commit1515450440f901bdb15e1ad0211a498f54053c3f (patch)
tree9baa8cb78832d8b816ef2bb05120f425cbae22db
parent43a1bed3d21605081581f7f3eb8a731cd71ad51e (diff)
downloadcpython-1515450440f901bdb15e1ad0211a498f54053c3f.zip
cpython-1515450440f901bdb15e1ad0211a498f54053c3f.tar.gz
cpython-1515450440f901bdb15e1ad0211a498f54053c3f.tar.bz2
Issue #23411: Added DefragResult, ParseResult, SplitResult, DefragResultBytes,
ParseResultBytes, and SplitResultBytes to urllib.parse.__all__. Patch by Martin Panter.
-rw-r--r--Lib/test/test_urlparse.py16
-rw-r--r--Lib/urllib/parse.py4
-rw-r--r--Misc/NEWS4
3 files changed, 23 insertions, 1 deletions
diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py
index 0481f0b..5a3aa33 100644
--- a/Lib/test/test_urlparse.py
+++ b/Lib/test/test_urlparse.py
@@ -840,6 +840,22 @@ class UrlParseTestCase(unittest.TestCase):
quoter = urllib.parse.Quoter(urllib.parse._ALWAYS_SAFE)
self.assertIn('Quoter', repr(quoter))
+ def test_all(self):
+ expected = []
+ undocumented = {
+ 'splitattr', 'splithost', 'splitnport', 'splitpasswd',
+ 'splitport', 'splitquery', 'splittag', 'splittype', 'splituser',
+ 'splitvalue',
+ 'Quoter', 'ResultBase', 'clear_cache', 'to_bytes', 'unwrap',
+ }
+ for name in dir(urllib.parse):
+ if name.startswith('_') or name in undocumented:
+ continue
+ object = getattr(urllib.parse, name)
+ if getattr(object, '__module__', None) == 'urllib.parse':
+ expected.append(name)
+ self.assertCountEqual(urllib.parse.__all__, expected)
+
class Utility_Tests(unittest.TestCase):
"""Testcase to test the various utility functions in the urllib."""
diff --git a/Lib/urllib/parse.py b/Lib/urllib/parse.py
index 66420d2..6012d35 100644
--- a/Lib/urllib/parse.py
+++ b/Lib/urllib/parse.py
@@ -34,7 +34,9 @@ import collections
__all__ = ["urlparse", "urlunparse", "urljoin", "urldefrag",
"urlsplit", "urlunsplit", "urlencode", "parse_qs",
"parse_qsl", "quote", "quote_plus", "quote_from_bytes",
- "unquote", "unquote_plus", "unquote_to_bytes"]
+ "unquote", "unquote_plus", "unquote_to_bytes",
+ "DefragResult", "ParseResult", "SplitResult",
+ "DefragResultBytes", "ParseResultBytes", "SplitResultBytes"]
# A classification of schemes ('' means apply by default)
uses_relative = ['ftp', 'http', 'gopher', 'nntp', 'imap',
diff --git a/Misc/NEWS b/Misc/NEWS
index 5093208..91cc87c 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -19,6 +19,10 @@ Core and Builtins
Library
-------
+- Issue #23411: Added DefragResult, ParseResult, SplitResult, DefragResultBytes,
+ ParseResultBytes, and SplitResultBytes to urllib.parse.__all__.
+ Patch by Martin Panter.
+
- Issue #23881: urllib.request.ftpwrapper constructor now closes the socket if
the FTP connection failed to fix a ResourceWarning.