diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-05-05 13:14:28 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-05-05 13:14:28 +0200 |
commit | 711f02da6559a3557a9d626d5923c6ea17bd1477 (patch) | |
tree | dcf72e2e4488e992c98903f0f8527eab326c3859 /src/testdir/test_winbar.vim | |
parent | b3de6c4a769986e6eb4e228519a6483d2999ad8f (diff) | |
download | vim-git-711f02da6559a3557a9d626d5923c6ea17bd1477.tar.gz |
patch 8.1.1272: click on WinBar of other window not testedv8.1.1272
Problem: Click on WinBar of other window not tested.
Solution: Add a test case.
Diffstat (limited to 'src/testdir/test_winbar.vim')
-rw-r--r-- | src/testdir/test_winbar.vim | 49 |
1 files changed, 44 insertions, 5 deletions
diff --git a/src/testdir/test_winbar.vim b/src/testdir/test_winbar.vim index ada8f6ba2..a34c29e41 100644 --- a/src/testdir/test_winbar.vim +++ b/src/testdir/test_winbar.vim @@ -27,20 +27,24 @@ func Test_add_remove_menu() close endfunc -func Test_click_in_winbar() - new +" Create a WinBar with three buttons. +" Columns of the button edges: +" _Next_ _Cont_ _Close_ +" 2 7 10 15 18 24 +func SetupWinbar() amenu 1.10 WinBar.Next :let g:did_next = 11<CR> amenu 1.20 WinBar.Cont :let g:did_cont = 12<CR> amenu 1.30 WinBar.Close :close<CR> redraw call assert_match('Next Cont Close', Screenline(1)) +endfunc +func Test_click_in_winbar() + new + call SetupWinbar() let save_mouse = &mouse set mouse=a - " Columns of the button edges: - " _Next_ _Cont_ _Close_ - " 2 7 10 15 18 24 let g:did_next = 0 let g:did_cont = 0 for col in [1, 8, 9, 16, 17, 25, 26] @@ -71,3 +75,38 @@ func Test_click_in_winbar() let &mouse = save_mouse endfunc + +func Test_click_in_other_winbar() + new + call SetupWinbar() + let save_mouse = &mouse + set mouse=a + let winid = win_getid() + + split + let [row, col] = win_screenpos(winid) + + " Click on Next button in other window + let g:did_next = 0 + call test_setmouse(row, 5) + call feedkeys("\<LeftMouse>", "xt") + call assert_equal(11, g:did_next) + + " Click on Cont button in other window from Visual mode + let g:did_cont = 0 + call setline(1, 'select XYZ here') + call test_setmouse(row, 12) + call feedkeys("0fXvfZ\<LeftMouse>x", "xt") + call assert_equal(12, g:did_cont) + call assert_equal('select here', getline(1)) + + " Click on Close button in other window + let wincount = winnr('$') + let winid = win_getid() + call test_setmouse(row, 20) + call feedkeys("\<LeftMouse>", "xt") + call assert_equal(wincount - 1, winnr('$')) + call assert_equal(winid, win_getid()) + + bwipe! +endfunc |