mirror of
https://github.com/python/cpython.git
synced 2025-08-17 15:21:26 +00:00
[3.12] GH-110488: Fix two small issues in pathlib.PurePath.with_name()
(GH-110651) (#110678)
Ensure that `PurePath('foo/a').with_name('.')` raises `ValueError`
Ensure that `PureWindowsPath('foo/a').with_name('a:b')` does not raise
`ValueError`.
(cherry picked from commit b5f7777cb3
)
This commit is contained in:
parent
be381b5df5
commit
9ffef4d797
3 changed files with 15 additions and 6 deletions
|
@ -546,6 +546,7 @@ class _BasePurePathTest(object):
|
|||
self.assertRaises(ValueError, P('.').with_name, 'd.xml')
|
||||
self.assertRaises(ValueError, P('/').with_name, 'd.xml')
|
||||
self.assertRaises(ValueError, P('a/b').with_name, '')
|
||||
self.assertRaises(ValueError, P('a/b').with_name, '.')
|
||||
self.assertRaises(ValueError, P('a/b').with_name, '/c')
|
||||
self.assertRaises(ValueError, P('a/b').with_name, 'c/')
|
||||
self.assertRaises(ValueError, P('a/b').with_name, 'c/d')
|
||||
|
@ -563,6 +564,7 @@ class _BasePurePathTest(object):
|
|||
self.assertRaises(ValueError, P('.').with_stem, 'd')
|
||||
self.assertRaises(ValueError, P('/').with_stem, 'd')
|
||||
self.assertRaises(ValueError, P('a/b').with_stem, '')
|
||||
self.assertRaises(ValueError, P('a/b').with_stem, '.')
|
||||
self.assertRaises(ValueError, P('a/b').with_stem, '/c')
|
||||
self.assertRaises(ValueError, P('a/b').with_stem, 'c/')
|
||||
self.assertRaises(ValueError, P('a/b').with_stem, 'c/d')
|
||||
|
@ -1167,8 +1169,10 @@ class PureWindowsPathTest(_BasePurePathTest, unittest.TestCase):
|
|||
self.assertRaises(ValueError, P('c:').with_name, 'd.xml')
|
||||
self.assertRaises(ValueError, P('c:/').with_name, 'd.xml')
|
||||
self.assertRaises(ValueError, P('//My/Share').with_name, 'd.xml')
|
||||
self.assertRaises(ValueError, P('c:a/b').with_name, 'd:')
|
||||
self.assertRaises(ValueError, P('c:a/b').with_name, 'd:e')
|
||||
self.assertEqual(str(P('a').with_name('d:')), '.\\d:')
|
||||
self.assertEqual(str(P('a').with_name('d:e')), '.\\d:e')
|
||||
self.assertEqual(P('c:a/b').with_name('d:'), P('c:a/d:'))
|
||||
self.assertEqual(P('c:a/b').with_name('d:e'), P('c:a/d:e'))
|
||||
self.assertRaises(ValueError, P('c:a/b').with_name, 'd:/e')
|
||||
self.assertRaises(ValueError, P('c:a/b').with_name, '//My/Share')
|
||||
|
||||
|
@ -1181,8 +1185,10 @@ class PureWindowsPathTest(_BasePurePathTest, unittest.TestCase):
|
|||
self.assertRaises(ValueError, P('c:').with_stem, 'd')
|
||||
self.assertRaises(ValueError, P('c:/').with_stem, 'd')
|
||||
self.assertRaises(ValueError, P('//My/Share').with_stem, 'd')
|
||||
self.assertRaises(ValueError, P('c:a/b').with_stem, 'd:')
|
||||
self.assertRaises(ValueError, P('c:a/b').with_stem, 'd:e')
|
||||
self.assertEqual(str(P('a').with_stem('d:')), '.\\d:')
|
||||
self.assertEqual(str(P('a').with_stem('d:e')), '.\\d:e')
|
||||
self.assertEqual(P('c:a/b').with_stem('d:'), P('c:a/d:'))
|
||||
self.assertEqual(P('c:a/b').with_stem('d:e'), P('c:a/d:e'))
|
||||
self.assertRaises(ValueError, P('c:a/b').with_stem, 'd:/e')
|
||||
self.assertRaises(ValueError, P('c:a/b').with_stem, '//My/Share')
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue