summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_pathlib/test_pathlib_abc.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_pathlib/test_pathlib_abc.py')
-rw-r--r--Lib/test/test_pathlib/test_pathlib_abc.py35
1 files changed, 34 insertions, 1 deletions
diff --git a/Lib/test/test_pathlib/test_pathlib_abc.py b/Lib/test/test_pathlib/test_pathlib_abc.py
index 1c95905..cd629c0 100644
--- a/Lib/test/test_pathlib/test_pathlib_abc.py
+++ b/Lib/test/test_pathlib/test_pathlib_abc.py
@@ -1743,7 +1743,7 @@ class DummyPathTest(DummyPurePathTest):
source.copy(target)
@needs_symlinks
- def test_copy_symlink(self):
+ def test_copy_symlink_follow_symlinks_true(self):
base = self.cls(self.base)
source = base / 'linkA'
target = base / 'copyA'
@@ -1752,6 +1752,26 @@ class DummyPathTest(DummyPurePathTest):
self.assertFalse(target.is_symlink())
self.assertEqual(source.read_text(), target.read_text())
+ @needs_symlinks
+ def test_copy_symlink_follow_symlinks_false(self):
+ base = self.cls(self.base)
+ source = base / 'linkA'
+ target = base / 'copyA'
+ source.copy(target, follow_symlinks=False)
+ self.assertTrue(target.exists())
+ self.assertTrue(target.is_symlink())
+ self.assertEqual(source.readlink(), target.readlink())
+
+ @needs_symlinks
+ def test_copy_directory_symlink_follow_symlinks_false(self):
+ base = self.cls(self.base)
+ source = base / 'linkB'
+ target = base / 'copyA'
+ source.copy(target, follow_symlinks=False)
+ self.assertTrue(target.exists())
+ self.assertTrue(target.is_symlink())
+ self.assertEqual(source.readlink(), target.readlink())
+
def test_copy_to_existing_file(self):
base = self.cls(self.base)
source = base / 'fileA'
@@ -1780,6 +1800,19 @@ class DummyPathTest(DummyPurePathTest):
self.assertFalse(real_target.is_symlink())
self.assertEqual(source.read_text(), real_target.read_text())
+ @needs_symlinks
+ def test_copy_to_existing_symlink_follow_symlinks_false(self):
+ base = self.cls(self.base)
+ source = base / 'dirB' / 'fileB'
+ target = base / 'linkA'
+ real_target = base / 'fileA'
+ source.copy(target, follow_symlinks=False)
+ self.assertTrue(target.exists())
+ self.assertTrue(target.is_symlink())
+ self.assertTrue(real_target.exists())
+ self.assertFalse(real_target.is_symlink())
+ self.assertEqual(source.read_text(), real_target.read_text())
+
def test_copy_empty(self):
base = self.cls(self.base)
source = base / 'empty'