mirror of
https://github.com/neovim/neovim.git
synced 2026-07-17 14:41:33 +00:00
Merge #6947 from ZyX-I/consistent-get_keymap
This commit is contained in:
@@ -1948,8 +1948,8 @@ describe('typval.c', function()
|
||||
eq(OK, lib.tv_dict_add_str(d, 'testt', 3, 'TEST'))
|
||||
local dis = dict_items(d)
|
||||
alloc_log:check({
|
||||
a.str(dis.tes.di_tv.vval.v_string, 'TEST'),
|
||||
a.di(dis.tes, 'tes'),
|
||||
a.str(dis.tes.di_tv.vval.v_string, 'TEST')
|
||||
})
|
||||
eq({test=10, tes='TEST'}, dct2tbl(d))
|
||||
eq(FAIL, check_emsg(function() return lib.tv_dict_add_str(d, 'testt', 3, 'TEST') end,
|
||||
@@ -1963,6 +1963,38 @@ describe('typval.c', function()
|
||||
alloc_log:check({})
|
||||
end)
|
||||
end)
|
||||
describe('allocated_str()', function()
|
||||
itp('works', function()
|
||||
local d = dict({test=10})
|
||||
eq({test=10}, dct2tbl(d))
|
||||
alloc_log:clear()
|
||||
local s1 = lib.xstrdup('TEST')
|
||||
local s2 = lib.xstrdup('TEST')
|
||||
local s3 = lib.xstrdup('TEST')
|
||||
alloc_log:check({
|
||||
a.str(s1, 'TEST'),
|
||||
a.str(s2, 'TEST'),
|
||||
a.str(s3, 'TEST'),
|
||||
})
|
||||
eq(OK, lib.tv_dict_add_allocated_str(d, 'testt', 3, s1))
|
||||
local dis = dict_items(d)
|
||||
alloc_log:check({
|
||||
a.di(dis.tes, 'tes'),
|
||||
})
|
||||
eq({test=10, tes='TEST'}, dct2tbl(d))
|
||||
eq(FAIL, check_emsg(function() return lib.tv_dict_add_allocated_str(d, 'testt', 3, s2) end,
|
||||
'E685: Internal error: hash_add()'))
|
||||
alloc_log:clear()
|
||||
lib.emsg_skip = lib.emsg_skip + 1
|
||||
eq(FAIL, check_emsg(function() return lib.tv_dict_add_allocated_str(d, 'testt', 3, s3) end,
|
||||
nil))
|
||||
lib.emsg_skip = lib.emsg_skip - 1
|
||||
alloc_log:clear_tmp_allocs()
|
||||
alloc_log:check({
|
||||
a.freed(s3),
|
||||
})
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
describe('clear()', function()
|
||||
itp('works', function()
|
||||
@@ -1975,7 +2007,7 @@ describe('typval.c', function()
|
||||
local dis = dict_items(d)
|
||||
local di = dis.TES
|
||||
local di_s = di.di_tv.vval.v_string
|
||||
alloc_log:check({a.di(di), a.str(di_s)})
|
||||
alloc_log:check({a.str(di_s), a.di(di)})
|
||||
eq({TES='tEsT'}, dct2tbl(d))
|
||||
lib.tv_dict_clear(d)
|
||||
alloc_log:check({a.freed(di_s), a.freed(di)})
|
||||
|
||||
Reference in New Issue
Block a user