From f7c9f837634738da105056a8b66457afa3ff8636 Mon Sep 17 00:00:00 2001 From: Jon Erling Hustadnes Date: Mon, 17 Dec 2018 18:30:52 +0100 Subject: Added check if bookmark file is a symlink. If it is, the os.rename is performed on the original file path instead of overwriting the symlink. --- tests/ranger/container/test_bookmarks.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'tests') diff --git a/tests/ranger/container/test_bookmarks.py b/tests/ranger/container/test_bookmarks.py index 6fba2a3d..7802bd5d 100644 --- a/tests/ranger/container/test_bookmarks.py +++ b/tests/ranger/container/test_bookmarks.py @@ -56,3 +56,20 @@ def testbookmarks(tmpdir): secondstore.update_if_outdated() secondstore.update = origupdate secondstore.update_if_outdated() + + +def test_bookmark_symlink(tmpdir): + # Initialize plain file and symlink paths + bookmarkfile_link = tmpdir.join("bookmarkfile") + bookmarkfile_orig = tmpdir.join("bookmarkfile.org") + + # Create symlink pointing towards the original plain file. + os.symlink(bookmarkfile_orig, bookmarkfile_link) + + # Initialize the bookmark file and save the file. + bmstore = Bookmarks(str(bookmarkfile_link)) + bmstore.save() + + # Once saved, the bookmark file should still be a symlink pointing towards the plain file. + assert os.path.islink(bookmarkfile_link) + assert not os.path.islink(bookmarkfile_orig) -- cgit 1.4.1-2-gfad0