diff options
author | Barney Gale <barney.gale@gmail.com> | 2024-11-14 20:22:14 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-14 20:22:14 (GMT) |
commit | cae9d9d20f61cdbde0765efa340b6b596c31b67f (patch) | |
tree | 72fd81537fbe2b3989fbaf3f952ad8c65da7d0f7 /Lib/test/test_urllib.py | |
parent | 47cbf038850852cdcbe7a404ed7c64542340d58a (diff) | |
download | cpython-cae9d9d20f61cdbde0765efa340b6b596c31b67f.zip cpython-cae9d9d20f61cdbde0765efa340b6b596c31b67f.tar.gz cpython-cae9d9d20f61cdbde0765efa340b6b596c31b67f.tar.bz2 |
GH-126766: `url2pathname()`: handle empty authority section. (#126767)
Discard two leading slashes from the beginning of a `file:` URI if they
introduce an empty authority section. As a result, file URIs like
`///etc/hosts` are correctly parsed as `/etc/hosts`.
Diffstat (limited to 'Lib/test/test_urllib.py')
-rw-r--r-- | Lib/test/test_urllib.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py index 66e948f..2c53ce3 100644 --- a/Lib/test/test_urllib.py +++ b/Lib/test/test_urllib.py @@ -1549,7 +1549,7 @@ class Pathname_Tests(unittest.TestCase): self.assertEqual(fn('//?/unc/server/share/dir'), '//server/share/dir') # Round-tripping urls = ['///C:', - '///folder/test/', + '/folder/test/', '///C:/foo/bar/spam.foo'] for url in urls: self.assertEqual(fn(urllib.request.url2pathname(url)), url) @@ -1573,7 +1573,7 @@ class Pathname_Tests(unittest.TestCase): self.assertEqual(fn('/C|//'), 'C:\\\\') self.assertEqual(fn('///C|/path'), 'C:\\path') # No DOS drive - self.assertEqual(fn("///C/test/"), '\\\\\\C\\test\\') + self.assertEqual(fn("///C/test/"), '\\C\\test\\') self.assertEqual(fn("////C/test/"), '\\\\C\\test\\') # DOS drive paths self.assertEqual(fn('C:/path/to/file'), 'C:\\path\\to\\file') @@ -1597,7 +1597,7 @@ class Pathname_Tests(unittest.TestCase): self.assertEqual(fn('//server/share/foo%2fbar'), '\\\\server\\share\\foo/bar') # Round-tripping paths = ['C:', - r'\\\C\test\\', + r'\C\test\\', r'C:\foo\bar\spam.foo'] for path in paths: self.assertEqual(fn(urllib.request.pathname2url(path)), path) @@ -1608,8 +1608,8 @@ class Pathname_Tests(unittest.TestCase): fn = urllib.request.url2pathname self.assertEqual(fn('/foo/bar'), '/foo/bar') self.assertEqual(fn('//foo/bar'), '//foo/bar') - self.assertEqual(fn('///foo/bar'), '///foo/bar') - self.assertEqual(fn('////foo/bar'), '////foo/bar') + self.assertEqual(fn('///foo/bar'), '/foo/bar') + self.assertEqual(fn('////foo/bar'), '//foo/bar') self.assertEqual(fn('//localhost/foo/bar'), '//localhost/foo/bar') class Utility_Tests(unittest.TestCase): |