aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ex_cmds/file_spec.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2017-04-11 03:14:10 +0200
committerGitHub <noreply@github.com>2017-04-11 03:14:10 +0200
commit337299c8082347feecb5e733bed993c6a5933456 (patch)
treeb2f491c54f8ed3a4ed57e1b78bf907b918b8b34c /test/functional/ex_cmds/file_spec.lua
parent9aface8c4d1edd25d4fed3e099e3c2c02b0a282a (diff)
parentde378477cc3ebface5da5dbd24015959755f137e (diff)
downloadrneovim-337299c8082347feecb5e733bed993c6a5933456.tar.gz
rneovim-337299c8082347feecb5e733bed993c6a5933456.tar.bz2
rneovim-337299c8082347feecb5e733bed993c6a5933456.zip
Merge #6490 from justinmk/test
Closes #6487
Diffstat (limited to 'test/functional/ex_cmds/file_spec.lua')
-rw-r--r--test/functional/ex_cmds/file_spec.lua35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/functional/ex_cmds/file_spec.lua b/test/functional/ex_cmds/file_spec.lua
new file mode 100644
index 0000000000..771c283134
--- /dev/null
+++ b/test/functional/ex_cmds/file_spec.lua
@@ -0,0 +1,35 @@
+local helpers = require('test.functional.helpers')(after_each)
+local lfs = require('lfs')
+local clear = helpers.clear
+local command = helpers.command
+local eq = helpers.eq
+local funcs = helpers.funcs
+local rmdir = helpers.rmdir
+
+describe(':file', function()
+ local swapdir = lfs.currentdir()..'/Xtest-file_spec'
+ before_each(function()
+ clear()
+ rmdir(swapdir)
+ lfs.mkdir(swapdir)
+ end)
+ after_each(function()
+ command('%bwipeout!')
+ rmdir(swapdir)
+ end)
+
+ it("rename does not lose swapfile #6487", function()
+ local testfile = 'test-file_spec'
+ local testfile_renamed = testfile..'-renamed'
+ -- Note: `set swapfile` *must* go after `set directory`: otherwise it may
+ -- attempt to create a swapfile in different directory.
+ command('set directory^='..swapdir..'//')
+ command('set swapfile fileformat=unix undolevels=-1')
+
+ command('edit! '..testfile)
+ -- Before #6487 this gave "E301: Oops, lost the swap file !!!" on Windows.
+ command('file '..testfile_renamed)
+ eq(testfile_renamed..'.swp',
+ string.match(funcs.execute('swapname'), '[^%%]+$'))
+ end)
+end)