aboutsummaryrefslogtreecommitdiff
path: root/test/unit
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit')
-rw-r--r--test/unit/os/shell_spec.lua4
-rw-r--r--test/unit/strings_spec.lua32
2 files changed, 32 insertions, 4 deletions
diff --git a/test/unit/os/shell_spec.lua b/test/unit/os/shell_spec.lua
index 93103e4e8c..906f950308 100644
--- a/test/unit/os/shell_spec.lua
+++ b/test/unit/os/shell_spec.lua
@@ -30,10 +30,6 @@ describe('shell functions', function()
cimported.p_shcf = to_cstr('-c')
end)
- teardown(function()
- cimported.event_teardown()
- end)
-
local function shell_build_argv(cmd, extra_args)
local res = cimported.shell_build_argv(
cmd and to_cstr(cmd),
diff --git a/test/unit/strings_spec.lua b/test/unit/strings_spec.lua
index e935d2af6a..0034670ee8 100644
--- a/test/unit/strings_spec.lua
+++ b/test/unit/strings_spec.lua
@@ -8,6 +8,38 @@ local to_cstr = helpers.to_cstr
local strings = cimport('stdlib.h', './src/nvim/strings.h',
'./src/nvim/memory.h')
+describe('vim_strsave_escaped()', function()
+ local vim_strsave_escaped = function(s, chars)
+ local res = strings.vim_strsave_escaped(to_cstr(s), to_cstr(chars))
+ local ret = ffi.string(res)
+
+ -- Explicitly free memory so we are sure it is allocated: if it was not it
+ -- will crash.
+ strings.xfree(res)
+ return ret
+ end
+
+ it('precedes by a backslash all chars from second argument', function()
+ eq([[\a\b\c\d]], vim_strsave_escaped('abcd','abcd'))
+ end)
+
+ it('precedes by a backslash chars only from second argument', function()
+ eq([[\a\bcd]], vim_strsave_escaped('abcd','ab'))
+ end)
+
+ it('returns a copy of passed string if second argument is empty', function()
+ eq('text \n text', vim_strsave_escaped('text \n text',''))
+ end)
+
+ it('returns an empty string if first argument is empty string', function()
+ eq('', vim_strsave_escaped('','\r'))
+ end)
+
+ it('returns a copy of passed string if it does not contain chars from 2nd argument', function()
+ eq('some text', vim_strsave_escaped('some text', 'a'))
+ end)
+end)
+
describe('vim_strnsave_unquoted()', function()
local vim_strnsave_unquoted = function(s, len)
local res = strings.vim_strnsave_unquoted(to_cstr(s), len or #s)