diff options
Diffstat (limited to 'test/functional/api/vim_spec.lua')
-rw-r--r-- | test/functional/api/vim_spec.lua | 25 |
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) |