From cd321b7d0fb161b77cd7b25da7f9a4721cfb0110 Mon Sep 17 00:00:00 2001 From: HiPhish Date: Sun, 4 Sep 2016 12:28:01 +0200 Subject: getcwd(): Return empty string if CWD is invalid. #5292 Closes #5291 Restores behaviour identical to Vim. If the user calls the VimScript function 'getcwd()' and the working directory cannot be found (for example because the directory has been deleted since the last time it was used) an empty string needs to be returned instead of throwing an error. --- test/functional/ex_cmds/cd_spec.lua | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'test/functional/ex_cmds') diff --git a/test/functional/ex_cmds/cd_spec.lua b/test/functional/ex_cmds/cd_spec.lua index 74432dbe00..85e1a5c5d5 100644 --- a/test/functional/ex_cmds/cd_spec.lua +++ b/test/functional/ex_cmds/cd_spec.lua @@ -269,3 +269,23 @@ for _, cmd in ipairs {'getcwd', 'haslocaldir'} do end) end +describe("getcwd()", function () + local temp_dir = "Xtest-functional-ex_cmds-cd_spec.temp" + before_each(function() + clear() + lfs.mkdir(temp_dir) + end) + + after_each(function() + helpers.rmdir(temp_dir) + end) + + it("returns empty string if working directory does not exist", function() + execute("cd " .. temp_dir) + helpers.wait() + helpers.rmdir(temp_dir) + eq("", helpers.eval("getcwd()")) + end) +end) + + -- cgit