Mercurial > vim
diff src/testdir/test_popupwin.vim @ 17097:94007c802045 v8.1.1548
patch 8.1.1548: popup_dialog() is not implemented
commit https://github.com/vim/vim/commit/a42d945efc60e6130c15f72b5a5aa9fd2b63241a
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jun 15 21:46:30 2019 +0200
patch 8.1.1548: popup_dialog() is not implemented
Problem: Popup_dialog() is not implemented.
Solution: Implement popup_dialog() and popup_filter_yesno().
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 15 Jun 2019 22:00:06 +0200 |
parents | 8e9e9124c7a2 |
children | 1a23650f8da5 |
line wrap: on
line diff
--- a/src/testdir/test_popupwin.vim +++ b/src/testdir/test_popupwin.vim @@ -870,6 +870,36 @@ func Test_popup_filter() call popup_clear() endfunc +func ShowDialog(key, result) + let s:cb_res = 999 + let winid = popup_dialog('do you want to quit (Yes/no)?', { + \ 'filter': 'popup_filter_yesno', + \ 'callback': 'QuitCallback', + \ }) + redraw + call feedkeys(a:key, "xt") + call assert_equal(winid, s:cb_winid) + call assert_equal(a:result, s:cb_res) +endfunc + +func Test_popup_dialog() + func QuitCallback(id, res) + let s:cb_winid = a:id + let s:cb_res = a:res + endfunc + + let winid = ShowDialog("y", 1) + let winid = ShowDialog("Y", 1) + let winid = ShowDialog("n", 0) + let winid = ShowDialog("N", 0) + let winid = ShowDialog("x", 0) + let winid = ShowDialog("X", 0) + let winid = ShowDialog("\<Esc>", 0) + let winid = ShowDialog("\<C-C>", -1) + + delfunc QuitCallback +endfunc + func Test_popup_close_callback() func PopupDone(id, result) let g:result = a:result