GH-119113: Raise TypeError from pathlib.PurePath.with_suffix(None) (#119124)

Restore behaviour from 3.12 when `path.with_suffix(None)` is called.
This commit is contained in:
Barney Gale 2024-05-19 17:04:56 +01:00 committed by GitHub
parent 4b76671728
commit 3c28510b98
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 9 additions and 7 deletions

View file

@ -205,15 +205,13 @@ class PurePathBase:
string, remove the suffix from the path.
"""
stem = self.stem
if not suffix:
return self.with_name(stem)
elif not stem:
if not stem:
# If the stem is empty, we can't make the suffix non-empty.
raise ValueError(f"{self!r} has an empty name")
elif suffix.startswith('.') and len(suffix) > 1:
return self.with_name(stem + suffix)
else:
elif suffix and not (suffix.startswith('.') and len(suffix) > 1):
raise ValueError(f"Invalid suffix {suffix!r}")
else:
return self.with_name(stem + suffix)
def relative_to(self, other, *, walk_up=False):
"""Return the relative path to another path identified by the passed