GH-114610: Fix pathlib._abc.PurePathBase.with_suffix('.ext') handling of stems (#114613)

Raise `ValueError` if `with_suffix('.ext')` is called on a path without a
stem. Paths may only have a non-empty suffix if they also have a non-empty
stem.

ABC-only bugfix; no effect on public classes.
This commit is contained in:
Barney Gale 2024-01-30 14:25:16 +00:00 committed by GitHub
parent e21754d7f8
commit 809eed4805
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 12 deletions

View file

@ -977,9 +977,8 @@ class DummyPurePathTest(unittest.TestCase):
def test_with_suffix_empty(self):
P = self.cls
# Path doesn't have a "filename" component.
self.assertEqual(P('').with_suffix('.gz'), P('.gz'))
self.assertEqual(P('.').with_suffix('.gz'), P('..gz'))
self.assertEqual(P('/').with_suffix('.gz'), P('/.gz'))
self.assertRaises(ValueError, P('').with_suffix, '.gz')
self.assertRaises(ValueError, P('/').with_suffix, '.gz')
def test_with_suffix_seps(self):
P = self.cls