Mercurial > vim
diff src/testdir/test_popupwin.vim @ 16904:9138e2c60bf1 v8.1.1453
patch 8.1.1453: popup window "moved" property not implemented yet
commit https://github.com/vim/vim/commit/3397f74ac2ac27f1eef48e950c3c8eeb0338fe55
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jun 2 18:40:06 2019 +0200
patch 8.1.1453: popup window "moved" property not implemented yet
Problem: Popup window "moved" property not implemented yet.
Solution: Implement it.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 02 Jun 2019 18:45:06 +0200 |
parents | 23645f9a5ce2 |
children | df06694b761b |
line wrap: on
line diff
--- a/src/testdir/test_popupwin.vim +++ b/src/testdir/test_popupwin.vim @@ -909,7 +909,7 @@ func Test_popup_position_adjust() %bwipe! endfunc -function Test_adjust_left_past_screen_width() +func Test_adjust_left_past_screen_width() " width of screen let X = join(map(range(&columns), {->'X'}), '') @@ -973,4 +973,65 @@ function Test_adjust_left_past_screen_wi popupclear %bwipe! -endfunction +endfunc + +func Test_popup_moved() + new + call test_override('char_avail', 1) + call setline(1, ['one word to move around', 'a WORD.and->some thing']) + + exe "normal gg0/word\<CR>" + let winid = popup_atcursor('text', {'moved': 'any'}) + redraw + call assert_equal(1, popup_getpos(winid).visible) + " trigger the check for last_cursormoved by going into insert mode + call feedkeys("li\<Esc>", 'xt') + call assert_equal({}, popup_getpos(winid)) + popupclear + + exe "normal gg0/word\<CR>" + let winid = popup_atcursor('text', {'moved': 'word'}) + redraw + call assert_equal(1, popup_getpos(winid).visible) + call feedkeys("hi\<Esc>", 'xt') + call assert_equal({}, popup_getpos(winid)) + popupclear + + exe "normal gg0/word\<CR>" + let winid = popup_atcursor('text', {'moved': 'word'}) + redraw + call assert_equal(1, popup_getpos(winid).visible) + call feedkeys("li\<Esc>", 'xt') + call assert_equal(1, popup_getpos(winid).visible) + call feedkeys("ei\<Esc>", 'xt') + call assert_equal(1, popup_getpos(winid).visible) + call feedkeys("eli\<Esc>", 'xt') + call assert_equal({}, popup_getpos(winid)) + popupclear + + exe "normal gg0/WORD\<CR>" + let winid = popup_atcursor('text', {'moved': 'WORD'}) + redraw + call assert_equal(1, popup_getpos(winid).visible) + call feedkeys("eli\<Esc>", 'xt') + call assert_equal(1, popup_getpos(winid).visible) + call feedkeys("wi\<Esc>", 'xt') + call assert_equal(1, popup_getpos(winid).visible) + call feedkeys("Eli\<Esc>", 'xt') + call assert_equal({}, popup_getpos(winid)) + popupclear + + exe "normal gg0/word\<CR>" + let winid = popup_atcursor('text', {'moved': [5, 10]}) + redraw + call assert_equal(1, popup_getpos(winid).visible) + call feedkeys("eli\<Esc>", 'xt') + call feedkeys("ei\<Esc>", 'xt') + call assert_equal(1, popup_getpos(winid).visible) + call feedkeys("eli\<Esc>", 'xt') + call assert_equal({}, popup_getpos(winid)) + popupclear + + bwipe! + call test_override('ALL', 0) +endfunc