summaryrefslogtreecommitdiffstats
path: root/src/testdir
diff options
context:
space:
mode:
Diffstat (limited to 'src/testdir')
-rw-r--r--src/testdir/dumps/Test_popupwin_normal_cmd.dump10
-rw-r--r--src/testdir/test_popupwin.vim17
2 files changed, 27 insertions, 0 deletions
diff --git a/src/testdir/dumps/Test_popupwin_normal_cmd.dump b/src/testdir/dumps/Test_popupwin_normal_cmd.dump
new file mode 100644
index 0000000000..f5548591c7
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_normal_cmd.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @31| +0#0000000&@8| +0#4040ff13&@32
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 333e9a2843..6607ea231c 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -1539,6 +1539,23 @@ func Test_popup_filter()
call popup_clear()
endfunc
+" this tests that the "ex_normal_busy_done" flag works
+func Test_popup_filter_normal_cmd()
+ CheckScreendump
+
+ let lines =<< trim END
+ let g:winid = popup_create('some text', {'filter': 'invalidfilter'})
+ call timer_start(0, {-> win_execute(g:winid, 'norm! zz')})
+ END
+ call writefile(lines, 'XtestPopupNormal')
+ let buf = RunVimInTerminal('-S XtestPopupNormal', #{rows: 10})
+ call TermWait(buf, 100)
+ call VerifyScreenDump(buf, 'Test_popupwin_normal_cmd', {})
+
+ call StopVimInTerminal(buf)
+ call delete('XtestPopupNormal')
+endfunc
+
func ShowDialog(key, result)
let s:cb_res = 999
let winid = popup_dialog('do you want to quit (Yes/no)?', #{