diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2020-01-21 15:26:55 +0100 |
---|---|---|
committer | Thomas Vigouroux <tomvig38@gmail.com> | 2020-09-03 15:40:24 +0200 |
commit | 49f5b57587ececf37415c64de6224e09baa80f48 (patch) | |
tree | 6b6f6b714729557549a3947953e3c2a789906817 /test/functional/api/extmark_spec.lua | |
parent | d3302573ba5f117fe7e1316be27321c3d9ffd261 (diff) | |
download | rneovim-49f5b57587ececf37415c64de6224e09baa80f48.tar.gz rneovim-49f5b57587ececf37415c64de6224e09baa80f48.tar.bz2 rneovim-49f5b57587ececf37415c64de6224e09baa80f48.zip |
decor: sketch new decorations API
return decorations back
lol no nvim_buf_get_virtual_text
share decorations that are hl only to avoid alloc avalanche
Diffstat (limited to 'test/functional/api/extmark_spec.lua')
-rw-r--r-- | test/functional/api/extmark_spec.lua | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/test/functional/api/extmark_spec.lua b/test/functional/api/extmark_spec.lua index 4bdff1a768..602f879ae8 100644 --- a/test/functional/api/extmark_spec.lua +++ b/test/functional/api/extmark_spec.lua @@ -18,13 +18,13 @@ local function expect(contents) end local function check_undo_redo(ns, mark, sr, sc, er, ec) --s = start, e = end - local rv = curbufmeths.get_extmark_by_id(ns, mark) + local rv = curbufmeths.get_extmark_by_id(ns, mark, false) eq({er, ec}, rv) feed("u") - rv = curbufmeths.get_extmark_by_id(ns, mark) + rv = curbufmeths.get_extmark_by_id(ns, mark, false) eq({sr, sc}, rv) feed("<c-r>") - rv = curbufmeths.get_extmark_by_id(ns, mark) + rv = curbufmeths.get_extmark_by_id(ns, mark, false) eq({er, ec}, rv) end @@ -42,7 +42,7 @@ local function get_extmarks(ns_id, start, end_, opts) if opts == nil then opts = {} end - return curbufmeths.get_extmarks(ns_id, start, end_, opts) + return curbufmeths.get_extmarks(ns_id, start, end_, opts, false) end local function batch_set(ns_id, positions) @@ -96,7 +96,7 @@ describe('API/extmarks', function() it('adds, updates and deletes marks', function() local rv = set_extmark(ns, marks[1], positions[1][1], positions[1][2]) eq(marks[1], rv) - rv = curbufmeths.get_extmark_by_id(ns, marks[1]) + rv = curbufmeths.get_extmark_by_id(ns, marks[1], false) eq({positions[1][1], positions[1][2]}, rv) -- Test adding a second mark on same row works rv = set_extmark(ns, marks[2], positions[2][1], positions[2][2]) @@ -105,14 +105,14 @@ describe('API/extmarks', function() -- Test an update, (same pos) rv = set_extmark(ns, marks[1], positions[1][1], positions[1][2]) eq(marks[1], rv) - rv = curbufmeths.get_extmark_by_id(ns, marks[2]) + rv = curbufmeths.get_extmark_by_id(ns, marks[2], false) eq({positions[2][1], positions[2][2]}, rv) -- Test an update, (new pos) row = positions[1][1] col = positions[1][2] + 1 rv = set_extmark(ns, marks[1], row, col) eq(marks[1], rv) - rv = curbufmeths.get_extmark_by_id(ns, marks[1]) + rv = curbufmeths.get_extmark_by_id(ns, marks[1], false) eq({row, col}, rv) -- remove the test marks @@ -435,7 +435,7 @@ describe('API/extmarks', function() ~ | | ]]) - local rv = curbufmeths.get_extmark_by_id(ns, marks[1]) + local rv = curbufmeths.get_extmark_by_id(ns, marks[1], false) eq({0, 6}, rv) check_undo_redo(ns, marks[1], 0, 3, 0, 6) end) @@ -909,9 +909,9 @@ describe('API/extmarks', function() -- Set the mark before the cursor, should stay there set_extmark(ns, marks[2], 0, 10) feed("i<cr><esc>") - local rv = curbufmeths.get_extmark_by_id(ns, marks[1]) + local rv = curbufmeths.get_extmark_by_id(ns, marks[1], false) eq({1, 3}, rv) - rv = curbufmeths.get_extmark_by_id(ns, marks[2]) + rv = curbufmeths.get_extmark_by_id(ns, marks[2], false) eq({0, 10}, rv) check_undo_redo(ns, marks[1], 0, 12, 1, 3) end) @@ -924,12 +924,12 @@ describe('API/extmarks', function() feed("0iint <esc>A {<cr><esc>0i1M1<esc>") set_extmark(ns, marks[1], 1, 1) feed("0i<c-f><esc>") - local rv = curbufmeths.get_extmark_by_id(ns, marks[1]) + local rv = curbufmeths.get_extmark_by_id(ns, marks[1], false) eq({1, 3}, rv) check_undo_redo(ns, marks[1], 1, 1, 1, 3) -- now check when cursor at eol feed("uA<c-f><esc>") - rv = curbufmeths.get_extmark_by_id(ns, marks[1]) + rv = curbufmeths.get_extmark_by_id(ns, marks[1], false) eq({1, 3}, rv) end) @@ -940,12 +940,12 @@ describe('API/extmarks', function() feed("0i<tab><esc>") set_extmark(ns, marks[1], 0, 3) feed("bi<c-d><esc>") - local rv = curbufmeths.get_extmark_by_id(ns, marks[1]) + local rv = curbufmeths.get_extmark_by_id(ns, marks[1], false) eq({0, 1}, rv) check_undo_redo(ns, marks[1], 0, 3, 0, 1) -- check when cursor at eol feed("uA<c-d><esc>") - rv = curbufmeths.get_extmark_by_id(ns, marks[1]) + rv = curbufmeths.get_extmark_by_id(ns, marks[1], false) eq({0, 1}, rv) end) @@ -1075,7 +1075,7 @@ describe('API/extmarks', function() check_undo_redo(ns, marks[5], 2, 0, 3, 0) feed('u') feed([[:1,2s:3:\rxx<cr>]]) - eq({1, 3}, curbufmeths.get_extmark_by_id(ns, marks[3])) + eq({1, 3}, curbufmeths.get_extmark_by_id(ns, marks[3], false)) end) it('substitions over multiple lines with replace in substition', function() @@ -1314,16 +1314,16 @@ describe('API/extmarks', function() eq("Invalid ns_id", pcall_err(set_extmark, ns_invalid, marks[1], positions[1][1], positions[1][2])) eq("Invalid ns_id", pcall_err(curbufmeths.del_extmark, ns_invalid, marks[1])) eq("Invalid ns_id", pcall_err(get_extmarks, ns_invalid, positions[1], positions[2])) - eq("Invalid ns_id", pcall_err(curbufmeths.get_extmark_by_id, ns_invalid, marks[1])) + eq("Invalid ns_id", pcall_err(curbufmeths.get_extmark_by_id, ns_invalid, marks[1], false)) end) it('when col = line-length, set the mark on eol', function() set_extmark(ns, marks[1], 0, -1) - local rv = curbufmeths.get_extmark_by_id(ns, marks[1]) + local rv = curbufmeths.get_extmark_by_id(ns, marks[1], false) eq({0, init_text:len()}, rv) -- Test another set_extmark(ns, marks[1], 0, -1) - rv = curbufmeths.get_extmark_by_id(ns, marks[1]) + rv = curbufmeths.get_extmark_by_id(ns, marks[1], false) eq({0, init_text:len()}, rv) end) @@ -1336,7 +1336,7 @@ describe('API/extmarks', function() local invalid_col = init_text:len() + 1 local invalid_lnum = 3 eq('line value outside range', pcall_err(set_extmark, ns, marks[1], invalid_lnum, invalid_col)) - eq({}, curbufmeths.get_extmark_by_id(ns, marks[1])) + eq({}, curbufmeths.get_extmark_by_id(ns, marks[1], false)) end) it('bug from check_col in extmark_set', function() @@ -1361,7 +1361,7 @@ describe('API/extmarks', function() local buf = request('nvim_create_buf', 0, 1) request('nvim_buf_set_lines', buf, 0, -1, 1, {"", ""}) local id = bufmeths.set_extmark(buf, ns, 1, 0, {}) - eq({{id, 1, 0}}, bufmeths.get_extmarks(buf, ns, 0, -1, {})) + eq({{id, 1, 0}}, bufmeths.get_extmarks(buf, ns, 0, -1, {}, false)) end) it('does not crash with append/delete/undo seqence', function() |