aboutsummaryrefslogtreecommitdiff
path: root/test/functional/api/vim_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/api/vim_spec.lua')
-rw-r--r--test/functional/api/vim_spec.lua25
1 files changed, 17 insertions, 8 deletions
diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua
index b5fcd88f71..18e6dbd9b6 100644
--- a/test/functional/api/vim_spec.lua
+++ b/test/functional/api/vim_spec.lua
@@ -3167,14 +3167,23 @@ describe('API', function()
describe('nvim_create_namespace', function()
it('works', function()
- eq({}, api.nvim_get_namespaces())
- eq(1, api.nvim_create_namespace('ns-1'))
- eq(2, api.nvim_create_namespace('ns-2'))
- eq(1, api.nvim_create_namespace('ns-1'))
- eq({ ['ns-1'] = 1, ['ns-2'] = 2 }, api.nvim_get_namespaces())
- eq(3, api.nvim_create_namespace(''))
- eq(4, api.nvim_create_namespace(''))
- eq({ ['ns-1'] = 1, ['ns-2'] = 2 }, api.nvim_get_namespaces())
+ local orig = api.nvim_get_namespaces()
+ local base = vim.iter(orig):fold(0, function(acc, _, v)
+ return math.max(acc, v)
+ end)
+ eq(base + 1, api.nvim_create_namespace('ns-1'))
+ eq(base + 2, api.nvim_create_namespace('ns-2'))
+ eq(base + 1, api.nvim_create_namespace('ns-1'))
+
+ local expected = vim.tbl_extend('error', orig, {
+ ['ns-1'] = base + 1,
+ ['ns-2'] = base + 2,
+ })
+
+ eq(expected, api.nvim_get_namespaces())
+ eq(base + 3, api.nvim_create_namespace(''))
+ eq(base + 4, api.nvim_create_namespace(''))
+ eq(expected, api.nvim_get_namespaces())
end)
end)