diff options
author | bfredl <bjorn.linse@gmail.com> | 2023-08-21 14:52:17 +0200 |
---|---|---|
committer | bfredl <bjorn.linse@gmail.com> | 2023-08-26 12:02:05 +0200 |
commit | 008154954791001efcc46c28146e21403f3a698b (patch) | |
tree | 306721ca60456ba9562c16b9d41cf5ec8d5a360c /test | |
parent | 1635c9e75e21e07c4331cf983e14a11c7e09b119 (diff) | |
download | rneovim-008154954791001efcc46c28146e21403f3a698b.tar.gz rneovim-008154954791001efcc46c28146e21403f3a698b.tar.bz2 rneovim-008154954791001efcc46c28146e21403f3a698b.zip |
refactor(change): do API changes to buffer without curbuf switch
Most of the messy things when changing a non-current buffer is
not about the buffer, it is about windows. In particular, it is about
`curwin`.
When editing a non-current buffer which is displayed in some other
window in the current tabpage, one such window will be "borrowed" as the
curwin. But this means if two or more non-current windows displayed the buffers,
one of them will be treated differenty. this is not desirable.
In particular, with nvim_buf_set_text, cursor _column_ position was only
corrected for one single window. Two new tests are added: the test
with just one non-current window passes, but the one with two didn't.
Two corresponding such tests were also added for nvim_buf_set_lines.
This already worked correctly on master, but make sure this is
well-tested for future refactors.
Also, nvim_create_buf no longer invokes autocmds just because you happened
to use `scratch=true`. No option value was changed, therefore OptionSet
must not be fired.
Diffstat (limited to 'test')
-rw-r--r-- | test/functional/api/buffer_spec.lua | 76 | ||||
-rw-r--r-- | test/functional/api/vim_spec.lua | 5 | ||||
-rw-r--r-- | test/functional/ui/diff_spec.lua | 92 | ||||
-rw-r--r-- | test/functional/ui/float_spec.lua | 472 |
4 files changed, 394 insertions, 251 deletions
diff --git a/test/functional/api/buffer_spec.lua b/test/functional/api/buffer_spec.lua index 512a1a08a6..4784c0a9dd 100644 --- a/test/functional/api/buffer_spec.lua +++ b/test/functional/api/buffer_spec.lua @@ -76,6 +76,38 @@ describe('api/buf', function() eq({4, 2}, curwin('get_cursor')) end) + it('cursor position is maintained in non-current window', function() + meths.buf_set_lines(0, 0, -1, 1, {"line1", "line2", "line3", "line4"}) + meths.win_set_cursor(0, {3, 2}) + local win = meths.get_current_win() + local buf = meths.get_current_buf() + + command('new') + + meths.buf_set_lines(buf, 1, 2, 1, {"line5", "line6"}) + eq({"line1", "line5", "line6", "line3", "line4"}, meths.buf_get_lines(buf, 0, -1, true)) + eq({4, 2}, meths.win_get_cursor(win)) + end) + + it('cursor position is maintained in TWO non-current windows', function() + meths.buf_set_lines(0, 0, -1, 1, {"line1", "line2", "line3", "line4"}) + meths.win_set_cursor(0, {3, 2}) + local win = meths.get_current_win() + local buf = meths.get_current_buf() + + command('split') + meths.win_set_cursor(0, {4, 2}) + local win2 = meths.get_current_win() + + -- set current window to third one with another buffer + command("new") + + meths.buf_set_lines(buf, 1, 2, 1, {"line5", "line6"}) + eq({"line1", "line5", "line6", "line3", "line4"}, meths.buf_get_lines(buf, 0, -1, true)) + eq({4, 2}, meths.win_get_cursor(win)) + eq({5, 2}, meths.win_get_cursor(win2)) + end) + it('line_count has defined behaviour for unloaded buffers', function() -- we'll need to know our bufnr for when it gets unloaded local bufnr = curbuf('get_number') @@ -484,6 +516,50 @@ describe('api/buf', function() eq({1, 9}, curwin('get_cursor')) end) + it('updates the cursor position in non-current window', function() + insert([[ + hello world!]]) + + -- position the cursor on `!` + meths.win_set_cursor(0, {1, 11}) + + local win = meths.get_current_win() + local buf = meths.get_current_buf() + + command("new") + + -- replace 'world' with 'foo' + meths.buf_set_text(buf, 0, 6, 0, 11, {'foo'}) + eq({'hello foo!'}, meths.buf_get_lines(buf, 0, -1, true)) + -- cursor should be moved left by two columns (replacement is shorter by 2 chars) + eq({1, 9}, meths.win_get_cursor(win)) + end) + + it('updates the cursor position in TWO non-current windows', function() + insert([[ + hello world!]]) + + -- position the cursor on `!` + meths.win_set_cursor(0, {1, 11}) + local win = meths.get_current_win() + local buf = meths.get_current_buf() + + command("split") + local win2 = meths.get_current_win() + -- position the cursor on `w` + meths.win_set_cursor(0, {1, 6}) + + command("new") + + -- replace 'hello' with 'foo' + meths.buf_set_text(buf, 0, 0, 0, 5, {'foo'}) + eq({'foo world!'}, meths.buf_get_lines(buf, 0, -1, true)) + + -- both cursors should be moved left by two columns (replacement is shorter by 2 chars) + eq({1, 9}, meths.win_get_cursor(win)) + eq({1, 4}, meths.win_get_cursor(win2)) + end) + it('can handle NULs', function() set_text(0, 0, 0, 0, {'ab\0cd'}) eq('ab\0cd', curbuf_depr('get_line', 0)) diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua index 7edf1d9cde..2de1990b14 100644 --- a/test/functional/api/vim_spec.lua +++ b/test/functional/api/vim_spec.lua @@ -28,7 +28,6 @@ local write_file = helpers.write_file local exec_lua = helpers.exec_lua local exc_exec = helpers.exc_exec local insert = helpers.insert -local expect_exit = helpers.expect_exit local skip = helpers.skip local pcall_err = helpers.pcall_err @@ -2832,7 +2831,9 @@ describe('API', function() it('does not cause heap-use-after-free on exit while setting options', function() command('au OptionSet * q') - expect_exit(command, 'silent! call nvim_create_buf(0, 1)') + command('silent! call nvim_create_buf(0, 1)') + -- nowadays this works because we don't execute any spurious autocmds at all #24824 + assert_alive() end) end) diff --git a/test/functional/ui/diff_spec.lua b/test/functional/ui/diff_spec.lua index 0f551e3044..92b7235885 100644 --- a/test/functional/ui/diff_spec.lua +++ b/test/functional/ui/diff_spec.lua @@ -1251,6 +1251,98 @@ AAAB]] ]]} end) end) + + it('redraws with a change to non-current buffer', function() + write_file(fname, "aaa\nbbb\nccc\n\nxx", false) + write_file(fname_2, "aaa\nbbb\nccc\n\nyy", false) + reread() + local buf = meths.get_current_buf() + command('botright new') + screen:expect{grid=[[ + {1: }aaa │{1: }aaa | + {1: }bbb │{1: }bbb | + {1: }ccc │{1: }ccc | + {1: } │{1: } | + {1: }{8:xx}{9: }│{1: }{8:yy}{9: }| + {6:~ }│{6:~ }| + {3:<onal-diff-screen-1 <l-diff-screen-1.2 }| + ^ | + {6:~ }| + {6:~ }| + {6:~ }| + {6:~ }| + {6:~ }| + {6:~ }| + {7:[No Name] }| + :e | + ]]} + + meths.buf_set_lines(buf, 1, 2, true, {'BBB'}) + screen:expect{grid=[[ + {1: }aaa │{1: }aaa | + {1: }{8:BBB}{9: }│{1: }{8:bbb}{9: }| + {1: }ccc │{1: }ccc | + {1: } │{1: } | + {1: }{8:xx}{9: }│{1: }{8:yy}{9: }| + {6:~ }│{6:~ }| + {3:<-diff-screen-1 [+] <l-diff-screen-1.2 }| + ^ | + {6:~ }| + {6:~ }| + {6:~ }| + {6:~ }| + {6:~ }| + {6:~ }| + {7:[No Name] }| + :e | + ]]} + end) + + it('redraws with a change current buffer in another window', function() + write_file(fname, "aaa\nbbb\nccc\n\nxx", false) + write_file(fname_2, "aaa\nbbb\nccc\n\nyy", false) + reread() + local buf = meths.get_current_buf() + command('botright split | diffoff') + screen:expect{grid=[[ + {1: }aaa │{1: }aaa | + {1: }bbb │{1: }bbb | + {1: }ccc │{1: }ccc | + {1: } │{1: } | + {1: }{8:xx}{9: }│{1: }{8:yy}{9: }| + {6:~ }│{6:~ }| + {3:<onal-diff-screen-1 <l-diff-screen-1.2 }| + ^aaa | + bbb | + ccc | + | + xx | + {6:~ }| + {6:~ }| + {7:Xtest-functional-diff-screen-1 }| + :e | + ]]} + + meths.buf_set_lines(buf, 1, 2, true, {'BBB'}) + screen:expect{grid=[[ + {1: }aaa │{1: }aaa | + {1: }{8:BBB}{9: }│{1: }{8:bbb}{9: }| + {1: }ccc │{1: }ccc | + {1: } │{1: } | + {1: }{8:xx}{9: }│{1: }{8:yy}{9: }| + {6:~ }│{6:~ }| + {3:<-diff-screen-1 [+] <l-diff-screen-1.2 }| + ^aaa | + BBB | + ccc | + | + xx | + {6:~ }| + {6:~ }| + {7:Xtest-functional-diff-screen-1 [+] }| + :e | + ]]} + end) end) it('win_update redraws lines properly', function() diff --git a/test/functional/ui/float_spec.lua b/test/functional/ui/float_spec.lua index c2bcac2449..85795e7e17 100644 --- a/test/functional/ui/float_spec.lua +++ b/test/functional/ui/float_spec.lua @@ -1445,16 +1445,16 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {5:╔═════════╗}| {5:║}{1: halloj! }{5:║}| {5:║}{1: BORDAA }{5:║}| {5:╚═════════╝}| ]], float_pos={ - [5] = { { id = 1002 }, "NW", 1, 2, 5, true } + [4] = { { id = 1001 }, "NW", 1, 2, 5, true } }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -1488,16 +1488,16 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {5:┌─────────┐}| {5:│}{1: halloj! }{5:│}| {5:│}{1: BORDAA }{5:│}| {5:└─────────┘}| ]], float_pos={ - [5] = { { id = 1002 }, "NW", 1, 2, 5, true } + [4] = { { id = 1001 }, "NW", 1, 2, 5, true } }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -1531,16 +1531,16 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {5:╭─────────╮}| {5:│}{1: halloj! }{5:│}| {5:│}{1: BORDAA }{5:│}| {5:╰─────────╯}| ]], float_pos={ - [5] = { { id = 1002 }, "NW", 1, 2, 5, true } + [4] = { { id = 1001 }, "NW", 1, 2, 5, true } }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -1574,16 +1574,16 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {5: }| {5: }{1: halloj! }{5: }| {5: }{1: BORDAA }{5: }| {5: }| ]], float_pos={ - [5] = { { id = 1002 }, "NW", 1, 2, 5, true } + [4] = { { id = 1001 }, "NW", 1, 2, 5, true } }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -1618,16 +1618,16 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {5:x}{7:ååååååååå}{5:\}| {17:n̈̊}{1: halloj! }{17:n̈̊}| {17:n̈̊}{1: BORDAA }{17:n̈̊}| {5:\}{7:ååååååååå}{5:x}| ]], float_pos={ - [5] = { { id = 1002 }, "NW", 1, 2, 5, true } + [4] = { { id = 1001 }, "NW", 1, 2, 5, true } }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -1661,14 +1661,14 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1: halloj! }| {1: BORDAA }| ]], float_pos={ - [5] = { { id = 1002 }, "NW", 1, 2, 5, true } + [4] = { { id = 1001 }, "NW", 1, 2, 5, true } }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -1702,14 +1702,14 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {5:<}{1: halloj! }{5:>}| {5:<}{1: BORDAA }{5:>}| ]], float_pos={ - [5] = { { id = 1002 }, "NW", 1, 2, 5, true } + [4] = { { id = 1001 }, "NW", 1, 2, 5, true } }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -1743,16 +1743,16 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {5:_________}| {1: halloj! }| {1: BORDAA }| {5:---------}| ]], float_pos={ - [5] = { { id = 1002 }, "NW", 1, 2, 5, true } + [4] = { { id = 1001 }, "NW", 1, 2, 5, true } }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -1794,15 +1794,15 @@ describe('float window', function() ^ | ## grid 3 | - ## grid 5 + ## grid 4 {1: halloj! }{25: }| {1: BORDAA }{26: }| {25: }{26: }| ]], float_pos={ - [5] = { { id = 1002 }, "NW", 1, 2, 5, true } + [4] = { { id = 1001 }, "NW", 1, 2, 5, true } }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 6, curline = 5, curcol = 0, linecount = 6, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -1880,16 +1880,16 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {5:╔}{11:Left}{5:═════╗}| {5:║}{1: halloj! }{5:║}| {5:║}{1: BORDAA }{5:║}| {5:╚═════════╝}| ]], float_pos={ - [5] = { { id = 1002 }, "NW", 1, 2, 5, true } + [4] = { { id = 1001 }, "NW", 1, 2, 5, true } }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -1923,16 +1923,16 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {5:╔═}{11:Center}{5:══╗}| {5:║}{1: halloj! }{5:║}| {5:║}{1: BORDAA }{5:║}| {5:╚═════════╝}| ]], float_pos={ - [5] = { { id = 1002 }, "NW", 1, 2, 5, true } + [4] = { { id = 1001 }, "NW", 1, 2, 5, true } }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -1966,16 +1966,16 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {5:╔════}{11:Right}{5:╗}| {5:║}{1: halloj! }{5:║}| {5:║}{1: BORDAA }{5:║}| {5:╚═════════╝}| ]], float_pos={ - [5] = { { id = 1002 }, "NW", 1, 2, 5, true } + [4] = { { id = 1001 }, "NW", 1, 2, 5, true } }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -2009,16 +2009,16 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {5:╔═════}🦄BB{5:╗}| {5:║}{1: halloj! }{5:║}| {5:║}{1: BORDAA }{5:║}| {5:╚═════════╝}| ]], float_pos={ - [5] = { { id = 1002 }, "NW", 1, 2, 5, true } + [4] = { { id = 1001 }, "NW", 1, 2, 5, true } }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -2117,17 +2117,17 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {5:╔═════════╗}| {5:║}{1:aaa aab }{5:║}| {5:║}{1:abb acc }{5:║}| {5:║}{1:^ }{5:║}| {5:╚═════════╝}| ]], float_pos={ - [5] = { { id = 1002 }, "NW", 1, 0, 5, true }; + [4] = { { id = 1001 }, "NW", 1, 0, 5, true }; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 2, curcol = 0, linecount = 3, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 3, curline = 2, curcol = 0, linecount = 3, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -2170,23 +2170,23 @@ describe('float window', function() {0:~ }| ## grid 3 {3:-- }{8:match 1 of 4} | - ## grid 5 + ## grid 4 {5:╔═════════╗}| {5:║}{1:aaa aab }{5:║}| {5:║}{1:abb acc }{5:║}| {5:║}{1:acc^ }{5:║}| {5:╚═════════╝}| - ## grid 6 + ## grid 5 {1: aaa }| {1: aab }| {1: abb }| {13: acc }| ]], float_pos={ - [5] = { { id = 1002 }, "NW", 1, 0, 5, true, 50 }; - [6] = { { id = -1 }, "NW", 5, 4, 0, false, 100 }; + [4] = { { id = 1001 }, "NW", 1, 0, 5, true, 50 }; + [5] = { { id = -1 }, "NW", 4, 4, 0, false, 100 }; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount=1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 2, curcol = 3, linecount=3, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 3, curline = 2, curcol = 3, linecount=3, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -2229,17 +2229,17 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {5:╔═════════╗}| {5:║}{1:aaa aab }{5:║}| {5:║}{1:abb acc }{5:║}| {5:║}{1:ac^c }{5:║}| {5:╚═════════╝}| ]], float_pos={ - [5] = { { id = 1002 }, "NW", 1, 0, 5, true }; + [4] = { { id = 1001 }, "NW", 1, 0, 5, true }; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 2, curcol = 2, linecount = 3, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 3, curline = 2, curcol = 2, linecount = 3, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -2287,22 +2287,22 @@ describe('float window', function() {0:~ }| ## grid 3 :popup Test | - ## grid 5 + ## grid 4 {5:╔═════════╗}| {5:║}{1:aaa aab }{5:║}| {5:║}{1:abb acc }{5:║}| {5:║}{1:ac^c }{5:║}| {5:╚═════════╝}| - ## grid 6 + ## grid 5 {1: foo }| {1: bar }| {1: baz }| ]], float_pos={ - [5] = { { id = 1002 }, "NW", 1, 0, 5, true }; - [6] = { { id = -1 }, "NW", 5, 4, 2, false, 250 }; + [4] = { { id = 1001 }, "NW", 1, 0, 5, true }; + [5] = { { id = -1 }, "NW", 4, 4, 2, false, 250 }; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 2, curcol = 2, linecount = 3, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 3, curline = 2, curcol = 2, linecount = 3, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -2347,15 +2347,15 @@ describe('float window', function() {0:~ }| ## grid 3 1,1 All | - ## grid 5 + ## grid 4 {1:^aaa aab }| {1:abb acc }| {2:~ }| ]], float_pos={ - [5] = {{id = 1002}, "NW", 1, 0, 5, true, 50}; + [4] = {{id = 1001}, "NW", 1, 0, 5, true, 50}; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -2389,15 +2389,15 @@ describe('float window', function() {0:~ }| ## grid 3 1,5 All | - ## grid 5 + ## grid 4 {1:aaa ^aab }| {1:abb acc }| {2:~ }| ]], float_pos={ - [5] = {{id = 1002}, "NW", 1, 0, 5, true, 50}; + [4] = {{id = 1001}, "NW", 1, 0, 5, true, 50}; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 0, curcol = 4, linecount = 2, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 3, curline = 0, curcol = 4, linecount = 2, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -2596,10 +2596,10 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:x}| ]], float_pos={ - [5] = {{id = 1002}, "NW", 2, 0, 4, false} + [4] = {{id = 1001}, "NW", 2, 0, 4, false} }} else screen:expect([[ @@ -2633,10 +2633,10 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:x}| ]], float_pos={ - [5] = {{id = 1002}, "NW", 2, 0, 15, false} + [4] = {{id = 1001}, "NW", 2, 0, 15, false} }} else screen:expect([[ @@ -3132,13 +3132,13 @@ describe('float window', function() {0:~ }| {0:~ }| {0:~ }| - ## grid 6 + ## grid 5 {5:╔═════════╗}| {5:║}{1: halloj! }{5:║}| {5:║}{1: BORDAA }{5:║}| {5:╚═════════╝}| ]], float_pos={ - [6] = {{id = 1003}, "NW", 4, 1, 14, true} + [5] = {{id = 1002}, "NW", 4, 1, 14, true} }} else screen:expect([[ @@ -3189,13 +3189,13 @@ describe('float window', function() {0:~ }| {0:~ }| {0:~ }| - ## grid 6 + ## grid 5 {5:╔═════════╗}| {5:║}{1: halloj! }{5:║}| {5:║}{1: BORDAA }{5:║}| {5:╚═════════╝}| ]], float_pos={ - [6] = {{id = 1003}, "NE", 4, 0, 14, true} + [5] = {{id = 1002}, "NE", 4, 0, 14, true} }} else screen:expect([[ @@ -3246,13 +3246,13 @@ describe('float window', function() {0:~ }| {0:~ }| {0:~ }| - ## grid 6 + ## grid 5 {5:╔═════════╗}| {5:║}{1: halloj! }{5:║}| {5:║}{1: BORDAA }{5:║}| {5:╚═════════╝}| ]], float_pos={ - [6] = {{id = 1003}, "SE", 4, 1, 14, true} + [5] = {{id = 1002}, "SE", 4, 1, 14, true} }} else screen:expect([[ @@ -3303,13 +3303,13 @@ describe('float window', function() {0:~ }| {0:~ }| {0:~ }| - ## grid 6 + ## grid 5 {5:╔═════════╗}| {5:║}{1: halloj! }{5:║}| {5:║}{1: BORDAA }{5:║}| {5:╚═════════╝}| ]], float_pos={ - [6] = {{id = 1003}, "SW", 4, 0, 14, true} + [5] = {{id = 1002}, "SW", 4, 0, 14, true} }} else screen:expect([[ @@ -3379,12 +3379,10 @@ describe('float window', function() | ## grid 3 | - ## grid 5 + ## grid 4 {1:some info! }| ]], float_pos={ - [5] = { { - id = 1002 - }, "NW", 2, 3, 2, true } + [4] = { { id = 1001 }, "NW", 2, 3, 2, true } }} else screen:expect{grid=[[ @@ -3414,12 +3412,10 @@ describe('float window', function() | ## grid 3 | - ## grid 5 + ## grid 4 {1:some info! }| ]], float_pos={ - [5] = { { - id = 1002 - }, "NW", 2, 2, 2, true } + [4] = { { id = 1001 }, "NW", 2, 2, 2, true }, }} else screen:expect{grid=[[ @@ -3448,12 +3444,10 @@ describe('float window', function() more text | ## grid 3 | - ## grid 5 + ## grid 4 {1:some info! }| ]], float_pos={ - [5] = { { - id = 1002 - }, "NW", 2, 1, 32, true } + [4] = { { id = 1001 }, "NW", 2, 1, 32, true } }} else -- note: appears misaligned due to cursor @@ -3492,12 +3486,10 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:some info! }| ]], float_pos={ - [5] = { { - id = 1002 - }, "NW", 2, 2, 7, true } + [4] = { { id = 1001 }, "NW", 2, 2, 7, true } }} else screen:expect{grid=[[ @@ -3540,12 +3532,10 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:some info! }| ]], float_pos={ - [5] = { { - id = 1002 - }, "SW", 2, 1, 7, true } + [4] = { { id = 1001 }, "SW", 2, 1, 7, true } }} else screen:expect{grid=[[ @@ -3567,15 +3557,15 @@ describe('float window', function() if multigrid then screen:expect{grid=[[ ## grid 1 - [2:----]{5:│}[6:--------------------]| - [2:----]{5:│}[6:--------------------]| - [2:----]{5:│}[6:--------------------]| - [2:----]{5:│}[6:--------------------]| - [2:----]{5:│}[6:--------------------]| - [2:----]{5:│}[6:--------------------]| - [2:----]{5:│}[6:--------------------]| - [2:----]{5:│}[6:--------------------]| - [2:----]{5:│}[6:--------------------]| + [2:----]{5:│}[5:--------------------]| + [2:----]{5:│}[5:--------------------]| + [2:----]{5:│}[5:--------------------]| + [2:----]{5:│}[5:--------------------]| + [2:----]{5:│}[5:--------------------]| + [2:----]{5:│}[5:--------------------]| + [2:----]{5:│}[5:--------------------]| + [2:----]{5:│}[5:--------------------]| + [2:----]{5:│}[5:--------------------]| [3:-------------------------]| ## grid 2 exam| @@ -3589,9 +3579,9 @@ describe('float window', function() the | ## grid 3 | - ## grid 5 + ## grid 4 {1:some info! }| - ## grid 6 + ## grid 5 ^ | {0:~ }| {0:~ }| @@ -3602,9 +3592,7 @@ describe('float window', function() {0:~ }| {0:~ }| ]], float_pos={ - [5] = { { - id = 1002 - }, "SW", 2, 8, 0, true } + [4] = { { id = 1001 }, "SW", 2, 8, 0, true } }} else screen:expect{grid=[[ @@ -3648,12 +3636,10 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:some info! }| ]], float_pos={ - [5] = { { - id = 1002 - }, "NW", 2, 2, 5, true } + [4] = { { id = 1001 }, "NW", 2, 2, 5, true } }} else screen:expect{grid=[[ @@ -3696,12 +3682,10 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:some info! }| ]], float_pos={ - [5] = { { - id = 1002 - }, "NW", 2, 3, 7, true } + [4] = { { id = 1001 }, "NW", 2, 3, 7, true } }} else screen:expect{grid=[[ @@ -3744,12 +3728,10 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:some info! }| ]], float_pos={ - [5] = { { - id = 1002 - }, "NW", 2, 2, 0, true } + [4] = { { id = 1001 }, "NW", 2, 2, 0, true } }} else screen:expect{grid=[[ @@ -3815,10 +3797,10 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:some floaty text }| ]], float_pos={ - [5] = {{id = 1002}, "NW", 1, 3, 1, true} + [4] = {{id = 1001}, "NW", 1, 3, 1, true} }} else screen:expect([[ @@ -3874,7 +3856,7 @@ describe('float window', function() meths.buf_set_lines(buf, 0, -1, true, {'such', 'very', 'float'}) local win = meths.open_win(buf, false, {relative='editor', width=15, height=4, row=2, col=10}) local expected_pos = { - [5]={{id=1002}, 'NW', 1, 2, 10, true}, + [4]={{id=1001}, 'NW', 1, 2, 10, true}, } if multigrid then screen:expect{grid=[[ @@ -3895,7 +3877,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:such }| {1:very }| {1:float }| @@ -3929,7 +3911,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:such }| {1:very }| {1:float }| @@ -3959,7 +3941,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:such }| {1:very }| {1:float }| @@ -3986,7 +3968,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:such }| {1:very }| {1:float }| @@ -4011,7 +3993,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:such }| {1:very }| {1:^float }| @@ -4045,7 +4027,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:such }| {1:very }| {1:^float }| @@ -4084,7 +4066,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:^such }| {1:very }| {1:float }| @@ -4121,7 +4103,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:^such }| {1:very }| {1:float }| @@ -4158,7 +4140,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:^such }| {1:very }| {1:float }| @@ -4195,7 +4177,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:^such }| {1:very }| {1:float }| @@ -4232,7 +4214,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:^such }| {1:very }| {1:float }| @@ -4269,7 +4251,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:^such }| {1:very }| {1:float }| @@ -4306,7 +4288,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:^such }| {1:very }| {1:float }| @@ -4343,7 +4325,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:^such }| {1:very }| {1:float }| @@ -4371,7 +4353,7 @@ describe('float window', function() | ## grid 3 | - ## grid 5 + ## grid 4 {1:^such }| {1:very }| {1:float }| @@ -4403,7 +4385,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:^such }| {1:very }| {1:float }| @@ -5063,12 +5045,12 @@ describe('float window', function() {13:aa }| {1:word }| {1:longtext }| - ## grid 6 + ## grid 5 {15:some info }| {15:about item }| ]], float_pos={ [4] = {{id = -1}, "NW", 2, 1, 0, false, 100}, - [6] = {{id = 1002}, "NW", 2, 1, 12, true, 50}, + [5] = {{id = 1001}, "NW", 2, 1, 12, true, 50}, }} else screen:expect([[ @@ -5104,11 +5086,11 @@ describe('float window', function() {0:~ }| ## grid 3 {3:-- INSERT --} | - ## grid 6 + ## grid 5 {15:some info }| {15:about item }| ]], float_pos={ - [6] = {{id = 1002}, "NW", 2, 1, 12, true}, + [5] = {{id = 1001}, "NW", 2, 1, 12, true}, }} else screen:expect([[ @@ -5256,14 +5238,14 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 here | float | ]], float_pos={ - [5] = {{id = 1002}, "NW", 1, 2, 5, true, 50}; + [4] = {{id = 1001}, "NW", 1, 2, 5, true, 50}; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -7580,18 +7562,18 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:foo }| {1:bar }| {1:baz }| ]], float_pos={ - [5] = {{id = 1002}, "NW", 1, 2, 5, true, 50}; + [4] = {{id = 1001}, "NW", 1, 2, 5, true, 50}; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 3, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 3, sum_scroll_delta = 0}; }} - meths.input_mouse('left', 'press', '', 5, 0, 0) + meths.input_mouse('left', 'press', '', 4, 0, 0) screen:expect{grid=[[ ## grid 1 [2:----------------------------------------]| @@ -7610,18 +7592,18 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:^foo }| {1:bar }| {1:baz }| ]], float_pos={ - [5] = {{id = 1002}, "NW", 1, 2, 5, true, 50}; + [4] = {{id = 1001}, "NW", 1, 2, 5, true, 50}; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 3, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 3, sum_scroll_delta = 0}; }} - meths.input_mouse('left', 'drag', '', 5, 1, 2) + meths.input_mouse('left', 'drag', '', 4, 1, 2) screen:expect{grid=[[ ## grid 1 [2:----------------------------------------]| @@ -7640,15 +7622,15 @@ describe('float window', function() {0:~ }| ## grid 3 {3:-- VISUAL --} | - ## grid 5 + ## grid 4 {27:foo}{1: }| {27:ba}{1:^r }| {1:baz }| ]], float_pos={ - [5] = {{id = 1002}, "NW", 1, 2, 5, true, 50}; + [4] = {{id = 1001}, "NW", 1, 2, 5, true, 50}; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 1, curcol = 2, linecount = 3, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 3, curline = 1, curcol = 2, linecount = 3, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -7708,20 +7690,20 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {5:┌────────────────────┐}| {5:│}{1:foo }{5:│}| {5:│}{1:bar }{5:│}| {5:│}{1:baz }{5:│}| {5:└────────────────────┘}| ]], float_pos={ - [5] = {{id = 1002}, "NW", 1, 0, 5, true, 50}; + [4] = {{id = 1001}, "NW", 1, 0, 5, true, 50}; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 3, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 3, sum_scroll_delta = 0}; }} - meths.input_mouse('left', 'press', '', 5, 1, 1) + meths.input_mouse('left', 'press', '', 4, 1, 1) screen:expect{grid=[[ ## grid 1 [2:----------------------------------------]| @@ -7740,20 +7722,20 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {5:┌────────────────────┐}| {5:│}{1:^foo }{5:│}| {5:│}{1:bar }{5:│}| {5:│}{1:baz }{5:│}| {5:└────────────────────┘}| ]], float_pos={ - [5] = {{id = 1002}, "NW", 1, 0, 5, true, 50}; + [4] = {{id = 1001}, "NW", 1, 0, 5, true, 50}; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 3, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 3, sum_scroll_delta = 0}; }} - meths.input_mouse('left', 'drag', '', 5, 2, 3) + meths.input_mouse('left', 'drag', '', 4, 2, 3) screen:expect{grid=[[ ## grid 1 [2:----------------------------------------]| @@ -7772,17 +7754,17 @@ describe('float window', function() {0:~ }| ## grid 3 {3:-- VISUAL --} | - ## grid 5 + ## grid 4 {5:┌────────────────────┐}| {5:│}{27:foo}{1: }{5:│}| {5:│}{27:ba}{1:^r }{5:│}| {5:│}{1:baz }{5:│}| {5:└────────────────────┘}| ]], float_pos={ - [5] = {{id = 1002}, "NW", 1, 0, 5, true, 50}; + [4] = {{id = 1001}, "NW", 1, 0, 5, true, 50}; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 1, curcol = 2, linecount = 3, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 3, curline = 1, curcol = 2, linecount = 3, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -7843,19 +7825,19 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {3:floaty bar }| {1:foo }| {1:bar }| {1:baz }| ]], float_pos={ - [5] = {{id = 1002}, "NW", 1, 1, 5, true, 50}; + [4] = {{id = 1001}, "NW", 1, 1, 5, true, 50}; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 3, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 3, sum_scroll_delta = 0}; }} - meths.input_mouse('left', 'press', '', 5, 1, 0) + meths.input_mouse('left', 'press', '', 4, 1, 0) screen:expect{grid=[[ ## grid 1 [2:----------------------------------------]| @@ -7874,19 +7856,19 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {3:floaty bar }| {1:^foo }| {1:bar }| {1:baz }| ]], float_pos={ - [5] = {{id = 1002}, "NW", 1, 1, 5, true, 50}; + [4] = {{id = 1001}, "NW", 1, 1, 5, true, 50}; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 3, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 3, sum_scroll_delta = 0}; }} - meths.input_mouse('left', 'drag', '', 5, 2, 2) + meths.input_mouse('left', 'drag', '', 4, 2, 2) screen:expect{grid=[[ ## grid 1 [2:----------------------------------------]| @@ -7905,16 +7887,16 @@ describe('float window', function() {0:~ }| ## grid 3 {3:-- VISUAL --} | - ## grid 5 + ## grid 4 {3:floaty bar }| {27:foo}{1: }| {27:ba}{1:^r }| {1:baz }| ]], float_pos={ - [5] = {{id = 1002}, "NW", 1, 1, 5, true, 50}; + [4] = {{id = 1001}, "NW", 1, 1, 5, true, 50}; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 1, curcol = 2, linecount = 3, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 3, curline = 1, curcol = 2, linecount = 3, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -7959,11 +7941,11 @@ describe('float window', function() if multigrid then screen:expect([[ ## grid 1 - [2:-------------------]{5:│}[5:--------------------]| - [2:-------------------]{5:│}[5:--------------------]| - [2:-------------------]{5:│}[5:--------------------]| - [2:-------------------]{5:│}[5:--------------------]| - [2:-------------------]{5:│}[5:--------------------]| + [2:-------------------]{5:│}[4:--------------------]| + [2:-------------------]{5:│}[4:--------------------]| + [2:-------------------]{5:│}[4:--------------------]| + [2:-------------------]{5:│}[4:--------------------]| + [2:-------------------]{5:│}[4:--------------------]| {5:[No Name] }{4:[No Name] [+] }| [3:----------------------------------------]| ## grid 2 @@ -7974,7 +7956,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 ^foo | bar | baz | @@ -7982,14 +7964,14 @@ describe('float window', function() {0:~ }| ]]) - meths.input_mouse('left', 'press', '', 5, 2, 2) + meths.input_mouse('left', 'press', '', 4, 2, 2) screen:expect([[ ## grid 1 - [2:-------------------]{5:│}[5:--------------------]| - [2:-------------------]{5:│}[5:--------------------]| - [2:-------------------]{5:│}[5:--------------------]| - [2:-------------------]{5:│}[5:--------------------]| - [2:-------------------]{5:│}[5:--------------------]| + [2:-------------------]{5:│}[4:--------------------]| + [2:-------------------]{5:│}[4:--------------------]| + [2:-------------------]{5:│}[4:--------------------]| + [2:-------------------]{5:│}[4:--------------------]| + [2:-------------------]{5:│}[4:--------------------]| {5:[No Name] }{4:[No Name] [+] }| [3:----------------------------------------]| ## grid 2 @@ -8000,7 +7982,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 foo | bar | ba^z | @@ -8008,14 +7990,14 @@ describe('float window', function() {0:~ }| ]]) - meths.input_mouse('left', 'drag', '', 5, 1, 1) + meths.input_mouse('left', 'drag', '', 4, 1, 1) screen:expect([[ ## grid 1 - [2:-------------------]{5:│}[5:--------------------]| - [2:-------------------]{5:│}[5:--------------------]| - [2:-------------------]{5:│}[5:--------------------]| - [2:-------------------]{5:│}[5:--------------------]| - [2:-------------------]{5:│}[5:--------------------]| + [2:-------------------]{5:│}[4:--------------------]| + [2:-------------------]{5:│}[4:--------------------]| + [2:-------------------]{5:│}[4:--------------------]| + [2:-------------------]{5:│}[4:--------------------]| + [2:-------------------]{5:│}[4:--------------------]| {5:[No Name] }{4:[No Name] [+] }| [3:----------------------------------------]| ## grid 2 @@ -8026,7 +8008,7 @@ describe('float window', function() {0:~ }| ## grid 3 {3:-- VISUAL --} | - ## grid 5 + ## grid 4 foo | b^a{27:r} | {27:baz} | @@ -8125,11 +8107,11 @@ describe('float window', function() laborum^. | ## grid 3 | - ## grid 5 + ## grid 4 {1:test }| {1: }| {1:popup text }| - ]], float_pos={[5] = {{id = 1002}, "NW", 1, 2, 5, true}}} + ]], float_pos={[4] = {{id = 1001}, "NW", 1, 2, 5, true}}} else screen:expect([[ Ut enim ad minim veniam, quis nostrud | @@ -8168,11 +8150,11 @@ describe('float window', function() laborum^. | ## grid 3 | - ## grid 5 + ## grid 4 {9:test }| {9: }| {9:popup text }| - ]], float_pos={[5] = {{id = 1002}, "NW", 1, 2, 5, true}}, unchanged=true} + ]], float_pos={[4] = {{id = 1001}, "NW", 1, 2, 5, true}}, unchanged=true} else screen:expect([[ Ut enim ad minim veniam, quis nostrud | @@ -8212,12 +8194,12 @@ describe('float window', function() laborum^. | ## grid 3 | - ## grid 5 + ## grid 4 {13:test }| {13: }| {13:popup text }| ]], float_pos={ - [5] = {{id = 1002}, "NW", 1, 2, 5, true, 50}; + [4] = {{id = 1001}, "NW", 1, 2, 5, true, 50}; }} else screen:expect([[ @@ -8264,11 +8246,11 @@ describe('float window', function() laborum^. | ## grid 3 | - ## grid 5 + ## grid 4 {9:test }| {9: }| {10:popup text}{9: }| - ]], float_pos={[5] = {{id = 1002}, "NW", 1, 2, 5, true}}} + ]], float_pos={[4] = {{id = 1001}, "NW", 1, 2, 5, true}}} else screen:expect([[ Ut enim ad minim veniam, quis nostrud | @@ -8307,11 +8289,11 @@ describe('float window', function() laborum^. | ## grid 3 | - ## grid 5 + ## grid 4 {9:test }| {9: }| {11:popup text}{9: }| - ]], float_pos={[5] = {{id = 1002}, "NW", 1, 2, 5, true}}, unchanged=true} + ]], float_pos={[4] = {{id = 1001}, "NW", 1, 2, 5, true}}, unchanged=true} else screen:expect([[ Ut enim ad minim veniam, quis nostrud | @@ -8328,7 +8310,7 @@ describe('float window', function() -- Test scrolling by mouse if multigrid then - meths.input_mouse('wheel', 'down', '', 5, 2, 2) + meths.input_mouse('wheel', 'down', '', 4, 2, 2) screen:expect{grid=[[ ## grid 1 [2:--------------------------------------------------]| @@ -8351,11 +8333,11 @@ describe('float window', function() laborum^. | ## grid 3 | - ## grid 5 + ## grid 4 {11:popup text}{9: }| {12:~ }| {12:~ }| - ]], float_pos={[5] = {{id = 1002}, "NW", 1, 2, 5, true}}} + ]], float_pos={[4] = {{id = 1001}, "NW", 1, 2, 5, true}}} else meths.input_mouse('wheel', 'down', '', 0, 4, 7) screen:expect([[ @@ -8398,11 +8380,11 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {1:口 }| {1:口 }| {1: }| - ]], float_pos={ [5] = { { id = 1002 }, "NW", 1, 0, 11, true } }} + ]], float_pos={ [4] = { { id = 1001 }, "NW", 1, 0, 11, true } }} else screen:expect([[ # TODO: 测 {1:口 }信息的准确性 | @@ -8480,14 +8462,12 @@ describe('float window', function() {3:~ }| ## grid 3 | - ## grid 6 + ## grid 5 {5: x x x xx}| {5: x x x x}| {5: }| ]], float_pos={ - [6] = { { - id = 1003 - }, "NW", 1, 0, 11, true } + [5] = { { id = 1002 }, "NW", 1, 0, 11, true } }} else screen:expect([[ @@ -8521,14 +8501,12 @@ describe('float window', function() {3:~ }| ## grid 3 | - ## grid 6 + ## grid 5 {5: x x x xx}| {5: x x x x}| {5: }| ]], float_pos={ - [6] = { { - id = 1003 - }, "NW", 1, 0, 12, true } + [5] = { { id = 1002 }, "NW", 1, 0, 12, true } }} else screen:expect([[ @@ -8590,11 +8568,11 @@ describe('float window', function() {1:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {2:^long }| {2:longer }| {2:longest}| - ## grid 6 + ## grid 5 {2:---------}| {2:- -}| {2:- -}| @@ -8604,11 +8582,11 @@ describe('float window', function() [1] = {foreground = Screen.colors.Blue1, bold = true}; [2] = {background = Screen.colors.LightMagenta}; }, float_pos={ + [4] = { { + id = 1001 + }, "NW", 1, 1, 1, true }, [5] = { { id = 1002 - }, "NW", 1, 1, 1, true }, - [6] = { { - id = 1003 }, "NW", 1, 0, 0, true } }} else @@ -8658,11 +8636,11 @@ describe('float window', function() {1:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {2:^l}| {2:o}| {2:n}| - ## grid 6 + ## grid 5 {2:---}| {2:- -}| {2:- -}| @@ -8672,12 +8650,8 @@ describe('float window', function() [1] = {foreground = Screen.colors.Blue1, bold = true}; [2] = {background = Screen.colors.LightMagenta}; }, float_pos={ - [5] = { { - id = 1002 - }, "NW", 1, 1, 1, true }, - [6] = { { - id = 1003 - }, "NW", 1, 0, 0, true } + [4] = { { id = 1001 }, "NW", 1, 1, 1, true }, + [5] = { { id = 1002 }, "NW", 1, 0, 0, true } }} else screen:expect([[ @@ -9088,7 +9062,7 @@ describe('float window', function() {0:~ }| {0:~ }| ## grid 3 - ## grid 5 + ## grid 4 {5:┌────────────────────────────────────────┐}| {5:│}{1: }{5:│}| {5:│}{1: }{5:│}| @@ -9096,10 +9070,10 @@ describe('float window', function() {5:│}{1: }{5:│}| {5:└────────────────────────────────────────┘}| ]], float_pos={ - [5] = {{id = 1002}, "SW", 1, 9, 0, true, 50}; + [4] = {{id = 1001}, "SW", 1, 9, 0, true, 50}; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -9144,16 +9118,16 @@ describe('float window', function() {0:~ }| {0:~ }| ## grid 3 - ## grid 5 + ## grid 4 {5:┌────────────────────────────────────────┐}| {5:│}{1: }{5:│}| {5:│}{1: }{5:│}| {5:└────────────────────────────────────────┘}| ]], float_pos={ - [5] = {{id = 1002}, "SW", 1, 9, 0, true, 50}; + [4] = {{id = 1001}, "SW", 1, 9, 0, true, 50}; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -9240,7 +9214,7 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {5:┌────────────────────────────────────────┐}| {5:│}{1: }{5:│}| {5:│}{1: }{5:│}| @@ -9248,10 +9222,10 @@ describe('float window', function() {5:│}{1: }{5:│}| {5:└────────────────────────────────────────┘}| ]], float_pos={ - [5] = {{id = 1002}, "SW", 1, 8, 0, true, 50}; + [4] = {{id = 1001}, "SW", 1, 8, 0, true, 50}; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -9300,7 +9274,7 @@ describe('float window', function() ## grid 3 | {8:Press ENTER or type command to continue}^ | - ## grid 5 + ## grid 4 {5:┌────────────────────────────────────────┐}| {5:│}{1: }{5:│}| {5:│}{1: }{5:│}| @@ -9308,10 +9282,10 @@ describe('float window', function() {5:│}{1: }{5:│}| {5:└────────────────────────────────────────┘}| ]], float_pos={ - [5] = {{id = 1002}, "SW", 1, 8, 0, true, 50}; + [4] = {{id = 1001}, "SW", 1, 8, 0, true, 50}; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ @@ -9351,16 +9325,16 @@ describe('float window', function() {0:~ }| ## grid 3 | - ## grid 5 + ## grid 4 {5:┌────────────────────────────────────────┐}| {5:│}{1: }{5:│}| {5:│}{1: }{5:│}| {5:└────────────────────────────────────────┘}| ]], float_pos={ - [5] = {{id = 1002}, "SW", 1, 8, 0, true, 50}; + [4] = {{id = 1001}, "SW", 1, 8, 0, true, 50}; }, win_viewport={ [2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; - [5] = {win = {id = 1002}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; + [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; }} else screen:expect{grid=[[ |