redraw
" e is consumed by the filter
+ let g:eaten = ''
call feedkeys('e', 'xt')
call assert_equal('e', g:eaten)
call feedkeys("\<F9>", 'xt')
call assert_equal("\<F9>", g:eaten)
" 0 is ignored by the filter
+ let g:ignored = ''
normal $
call assert_equal(9, getcurpos()[2])
call feedkeys('0', 'xt')
call assert_equal('0', g:ignored)
- normal! l
- call assert_equal(2, getcurpos()[2])
+
+ if has('win32') && has('gui_running')
+ echo "FIXME: this check is very flaky on MS-Windows GUI, the cursor doesn't move"
+ else
+ call assert_equal(1, getcurpos()[2])
+ endif
" x closes the popup
call feedkeys('x', 'xt')
call assert_equal("\<F9>", g:eaten)
call assert_equal(-1, winbufnr(winid))
+ unlet g:eaten
+ unlet g:ignored
delfunc MyPopupFilter
call popup_clear()
endfunc