summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_pathlib.py
diff options
context:
space:
mode:
authorBarney Gale <barney.gale@gmail.com>2023-10-11 03:45:11 (GMT)
committerGitHub <noreply@github.com>2023-10-11 03:45:11 (GMT)
commitb5f7777cb3ecae02d49e0b348968c1ff1ffe21f4 (patch)
treed73d8a086ed6c573d00c7b541c72bbbeb5ea5206 /Lib/test/test_pathlib.py
parent790ecf6302e47b84da5d1c3b14dbdf070bce615b (diff)
downloadcpython-b5f7777cb3ecae02d49e0b348968c1ff1ffe21f4.zip
cpython-b5f7777cb3ecae02d49e0b348968c1ff1ffe21f4.tar.gz
cpython-b5f7777cb3ecae02d49e0b348968c1ff1ffe21f4.tar.bz2
GH-110488: Fix two small issues in `pathlib.PurePath.with_name()` (#110651)
Ensure that `PurePath('foo/a').with_name('.')` raises `ValueError` Ensure that `PureWindowsPath('foo/a').with_name('a:b')` does not raise `ValueError`.
Diffstat (limited to 'Lib/test/test_pathlib.py')
-rw-r--r--Lib/test/test_pathlib.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/Lib/test/test_pathlib.py b/Lib/test/test_pathlib.py
index f077825..2781e01 100644
--- a/Lib/test/test_pathlib.py
+++ b/Lib/test/test_pathlib.py
@@ -614,6 +614,7 @@ class PurePathTest(unittest.TestCase):
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')
@@ -631,6 +632,7 @@ class PurePathTest(unittest.TestCase):
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')
@@ -1235,8 +1237,10 @@ class PureWindowsPathTest(PurePathTest):
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')
@@ -1249,8 +1253,10 @@ class PureWindowsPathTest(PurePathTest):
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')