summaryrefslogtreecommitdiff
path: root/src/testdir/test_swap.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-09-16 18:46:59 +0200
committerBram Moolenaar <Bram@vim.org>2018-09-16 18:46:59 +0200
commit110bd60985c31e8978e9b071e2179f4233ef8557 (patch)
treed08c7814d0ca763dd5ee2fa85fee8e618e79b960 /src/testdir/test_swap.vim
parentd2b58c0a2c665075a8cfef57db6e1b37d4523e02 (diff)
downloadvim-git-110bd60985c31e8978e9b071e2179f4233ef8557.tar.gz
patch 8.1.0401: can't get swap name of another bufferv8.1.0401
Problem: Can't get swap name of another buffer. Solution: Add swapname(). (Ozaki Kiichi, closes #3441)
Diffstat (limited to 'src/testdir/test_swap.vim')
-rw-r--r--src/testdir/test_swap.vim35
1 files changed, 30 insertions, 5 deletions
diff --git a/src/testdir/test_swap.vim b/src/testdir/test_swap.vim
index ca4d8c268..208d4d966 100644
--- a/src/testdir/test_swap.vim
+++ b/src/testdir/test_swap.vim
@@ -1,5 +1,9 @@
" Tests for the swap feature
+func s:swapname()
+ return trim(execute('swapname'))
+endfunc
+
" Tests for 'directory' option.
func Test_swap_directory()
if !has("unix")
@@ -17,7 +21,7 @@ func Test_swap_directory()
" Verify that the swap file doesn't exist in the current directory
call assert_equal([], glob(".Xtest1*.swp", 1, 1, 1))
edit Xtest1
- let swfname = split(execute("swapname"))[0]
+ let swfname = s:swapname()
call assert_equal([swfname], glob(swfname, 1, 1, 1))
" './dir', swap file in a directory relative to the file
@@ -27,7 +31,7 @@ func Test_swap_directory()
edit Xtest1
call assert_equal([], glob(swfname, 1, 1, 1))
let swfname = "Xtest2/Xtest1.swp"
- call assert_equal(swfname, split(execute("swapname"))[0])
+ call assert_equal(swfname, s:swapname())
call assert_equal([swfname], glob("Xtest2/*", 1, 1, 1))
" 'dir', swap file in directory relative to the current dir
@@ -38,7 +42,7 @@ func Test_swap_directory()
edit Xtest2/Xtest3
call assert_equal(["Xtest2/Xtest3"], glob("Xtest2/*", 1, 1, 1))
let swfname = "Xtest.je/Xtest3.swp"
- call assert_equal(swfname, split(execute("swapname"))[0])
+ call assert_equal(swfname, s:swapname())
call assert_equal([swfname], glob("Xtest.je/*", 1, 1, 1))
set dir&
@@ -70,7 +74,7 @@ func Test_swap_group()
throw 'Skipped: cannot set second group on test file'
else
split Xtest
- let swapname = substitute(execute('swapname'), '[[:space:]]', '', 'g')
+ let swapname = s:swapname()
call assert_match('Xtest', swapname)
" Group of swapfile must now match original file.
call assert_match(' ' . groups[1] . ' \d', system('ls -l ' . swapname))
@@ -102,7 +106,7 @@ func Test_swapinfo()
new Xswapinfo
call setline(1, ['one', 'two', 'three'])
w
- let fname = trim(execute('swapname'))
+ let fname = s:swapname()
call assert_match('Xswapinfo', fname)
let info = swapinfo(fname)
@@ -136,3 +140,24 @@ func Test_swapinfo()
call assert_equal('Not a swap file', info.error)
call delete('Xnotaswapfile')
endfunc
+
+func Test_swapname()
+ edit Xtest1
+ let expected = s:swapname()
+ call assert_equal(expected, swapname('%'))
+
+ new Xtest2
+ let buf = bufnr('%')
+ let expected = s:swapname()
+ wincmd p
+ call assert_equal(expected, swapname(buf))
+
+ new Xtest3
+ setlocal noswapfile
+ call assert_equal('', swapname('%'))
+
+ bwipe!
+ call delete('Xtest1')
+ call delete('Xtest2')
+ call delete('Xtest3')
+endfunc