diff options
| author | ZyX <kp-pav@yandex.ru> | 2017-07-02 19:01:09 +0300 | 
|---|---|---|
| committer | ZyX <kp-pav@yandex.ru> | 2017-07-02 19:01:09 +0300 | 
| commit | df040e55fbd3edc5a36462af927a7194d079d0b8 (patch) | |
| tree | 45ac6b4f7e8024dff5b2295b58007482d5f87496 /test/unit/eval/typval_spec.lua | |
| parent | 6140396d97d700ab6390b4ecfc4fd7da0ebdfd9f (diff) | |
| download | rneovim-df040e55fbd3edc5a36462af927a7194d079d0b8.tar.gz rneovim-df040e55fbd3edc5a36462af927a7194d079d0b8.tar.bz2 rneovim-df040e55fbd3edc5a36462af927a7194d079d0b8.zip  | |
eval/typval: Add tv_dict_add_allocated_str() function
Diffstat (limited to 'test/unit/eval/typval_spec.lua')
| -rw-r--r-- | test/unit/eval/typval_spec.lua | 32 | 
1 files changed, 32 insertions, 0 deletions
diff --git a/test/unit/eval/typval_spec.lua b/test/unit/eval/typval_spec.lua index 5d543f914f..33d5bb28be 100644 --- a/test/unit/eval/typval_spec.lua +++ b/test/unit/eval/typval_spec.lua @@ -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()  | 
