mirror of
https://github.com/python/cpython.git
synced 2025-07-16 07:45:20 +00:00
pathlib ABCs: drop partial, broken, untested support for bytes
paths. (#114777)
Methods like `full_match()`, `glob()`, etc, are difficult to make work with byte paths, and it's not worth the effort. This patch makes `PurePathBase` raise `TypeError` when given non-`str` path segments.
This commit is contained in:
parent
1667c28686
commit
574291963f
3 changed files with 29 additions and 21 deletions
|
@ -189,7 +189,7 @@ class PurePathTest(test_pathlib_abc.DummyPurePathTest):
|
|||
self._check_str(p.__fspath__(), ('a/b',))
|
||||
self._check_str(os.fspath(p), ('a/b',))
|
||||
|
||||
def test_bytes(self):
|
||||
def test_bytes_exc_message(self):
|
||||
P = self.cls
|
||||
message = (r"argument should be a str or an os\.PathLike object "
|
||||
r"where __fspath__ returns a str, not 'bytes'")
|
||||
|
@ -199,22 +199,6 @@ class PurePathTest(test_pathlib_abc.DummyPurePathTest):
|
|||
P(b'a', 'b')
|
||||
with self.assertRaisesRegex(TypeError, message):
|
||||
P('a', b'b')
|
||||
with self.assertRaises(TypeError):
|
||||
P('a').joinpath(b'b')
|
||||
with self.assertRaises(TypeError):
|
||||
P('a') / b'b'
|
||||
with self.assertRaises(TypeError):
|
||||
b'a' / P('b')
|
||||
with self.assertRaises(TypeError):
|
||||
P('a').match(b'b')
|
||||
with self.assertRaises(TypeError):
|
||||
P('a').relative_to(b'b')
|
||||
with self.assertRaises(TypeError):
|
||||
P('a').with_name(b'b')
|
||||
with self.assertRaises(TypeError):
|
||||
P('a').with_stem(b'b')
|
||||
with self.assertRaises(TypeError):
|
||||
P('a').with_suffix(b'b')
|
||||
|
||||
def test_as_bytes_common(self):
|
||||
sep = os.fsencode(self.sep)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue