mirror of
https://github.com/python/cpython.git
synced 2025-08-01 07:33:08 +00:00
Fix for bugs: Issue4675 and Issue4962.
This commit is contained in:
parent
e7c9e092b3
commit
5e95e763e1
4 changed files with 22 additions and 2 deletions
|
@ -582,6 +582,22 @@ class Pathname_Tests(unittest.TestCase):
|
||||||
"url2pathname() failed; %s != %s" %
|
"url2pathname() failed; %s != %s" %
|
||||||
(expect, result))
|
(expect, result))
|
||||||
|
|
||||||
|
class Utility_Tests(unittest.TestCase):
|
||||||
|
"""Testcase to test the various utility functions in the urllib."""
|
||||||
|
|
||||||
|
def test_splitpasswd(self):
|
||||||
|
"""Some of the password examples are not sensible, but it is added to
|
||||||
|
confirming to RFC2617 and addressing issue4675.
|
||||||
|
"""
|
||||||
|
self.assertEqual(('user', 'ab'),urllib.splitpasswd('user:ab'))
|
||||||
|
self.assertEqual(('user', 'a\nb'),urllib.splitpasswd('user:a\nb'))
|
||||||
|
self.assertEqual(('user', 'a\tb'),urllib.splitpasswd('user:a\tb'))
|
||||||
|
self.assertEqual(('user', 'a\rb'),urllib.splitpasswd('user:a\rb'))
|
||||||
|
self.assertEqual(('user', 'a\fb'),urllib.splitpasswd('user:a\fb'))
|
||||||
|
self.assertEqual(('user', 'a\vb'),urllib.splitpasswd('user:a\vb'))
|
||||||
|
self.assertEqual(('user', 'a:b'),urllib.splitpasswd('user:a:b'))
|
||||||
|
|
||||||
|
|
||||||
# Just commented them out.
|
# Just commented them out.
|
||||||
# Can't really tell why keep failing in windows and sparc.
|
# Can't really tell why keep failing in windows and sparc.
|
||||||
# Everywhere else they work ok, but on those machines, someteimes
|
# Everywhere else they work ok, but on those machines, someteimes
|
||||||
|
@ -676,6 +692,7 @@ def test_main():
|
||||||
UnquotingTests,
|
UnquotingTests,
|
||||||
urlencode_Tests,
|
urlencode_Tests,
|
||||||
Pathname_Tests,
|
Pathname_Tests,
|
||||||
|
Utility_Tests,
|
||||||
#FTPWrapperTests,
|
#FTPWrapperTests,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -96,6 +96,9 @@ class UrlParseTestCase(unittest.TestCase):
|
||||||
'', '', ''),
|
'', '', ''),
|
||||||
('mms', 'wms.sys.hinet.net', '/cts/Drama/09006251100.asf',
|
('mms', 'wms.sys.hinet.net', '/cts/Drama/09006251100.asf',
|
||||||
'', '')),
|
'', '')),
|
||||||
|
('nfs://server/path/to/file.txt',
|
||||||
|
('nfs', 'server', '/path/to/file.txt', '', '', ''),
|
||||||
|
('nfs', 'server', '/path/to/file.txt', '', '')),
|
||||||
('svn+ssh://svn.zope.org/repos/main/ZConfig/trunk/',
|
('svn+ssh://svn.zope.org/repos/main/ZConfig/trunk/',
|
||||||
('svn+ssh', 'svn.zope.org', '/repos/main/ZConfig/trunk/',
|
('svn+ssh', 'svn.zope.org', '/repos/main/ZConfig/trunk/',
|
||||||
'', '', ''),
|
'', '', ''),
|
||||||
|
|
|
@ -1073,7 +1073,7 @@ def splitpasswd(user):
|
||||||
global _passwdprog
|
global _passwdprog
|
||||||
if _passwdprog is None:
|
if _passwdprog is None:
|
||||||
import re
|
import re
|
||||||
_passwdprog = re.compile('^([^:]*):(.*)$')
|
_passwdprog = re.compile('^([^:]*):(.*)$',re.S)
|
||||||
|
|
||||||
match = _passwdprog.match(user)
|
match = _passwdprog.match(user)
|
||||||
if match: return match.group(1, 2)
|
if match: return match.group(1, 2)
|
||||||
|
|
|
@ -14,7 +14,7 @@ uses_relative = ['ftp', 'http', 'gopher', 'nntp', 'imap',
|
||||||
uses_netloc = ['ftp', 'http', 'gopher', 'nntp', 'telnet',
|
uses_netloc = ['ftp', 'http', 'gopher', 'nntp', 'telnet',
|
||||||
'imap', 'wais', 'file', 'mms', 'https', 'shttp',
|
'imap', 'wais', 'file', 'mms', 'https', 'shttp',
|
||||||
'snews', 'prospero', 'rtsp', 'rtspu', 'rsync', '',
|
'snews', 'prospero', 'rtsp', 'rtspu', 'rsync', '',
|
||||||
'svn', 'svn+ssh', 'sftp']
|
'svn', 'svn+ssh', 'sftp','nfs']
|
||||||
non_hierarchical = ['gopher', 'hdl', 'mailto', 'news',
|
non_hierarchical = ['gopher', 'hdl', 'mailto', 'news',
|
||||||
'telnet', 'wais', 'imap', 'snews', 'sip', 'sips']
|
'telnet', 'wais', 'imap', 'snews', 'sip', 'sips']
|
||||||
uses_params = ['ftp', 'hdl', 'prospero', 'http', 'imap',
|
uses_params = ['ftp', 'hdl', 'prospero', 'http', 'imap',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue