Wait for evidence of Tab key press in tests before proceeding

In the previous commit 9f050c7460 "Delay fake-key events by 10ms" I delayed
events for fake-key by 10ms to deal with a timing issue with sending events
right after a navigation not being processed.

Just like last time that's caused a few tests with tight timing constraints to
break because they proceed to the next command before the fake-key events have
taken effect.

Maybe it would have been better to just put the waits in the e2e tests in the
first case instead of in the production code? Well, we'll see. Maybe I'll
never have to deal with this again.
This commit is contained in:
toofar 2024-04-27 15:19:34 +12:00
parent 9f050c7460
commit d47d247941
1 changed files with 4 additions and 0 deletions

View File

@ -74,6 +74,7 @@ Feature: Caret mode
And I run :mode-leave
And I run :jseval document.activeElement.blur();
And I run :fake-key <tab>
And I wait for "* Got key: <qutebrowser.keyinput.keyutils.KeyInfo key='Key_Tab' modifiers='NoModifier' text='<Tab>'> (dry_run True)" in the log
And I run :selection-follow
Then data/hello.txt should be loaded
@ -83,6 +84,7 @@ Feature: Caret mode
And I run :mode-leave
And I run :jseval document.activeElement.blur();
And I run :fake-key <tab>
And I wait for "* Got key: <qutebrowser.keyinput.keyutils.KeyInfo key='Key_Tab' modifiers='NoModifier' text='<Tab>'> (dry_run True)" in the log
And I run :selection-follow
Then data/hello.txt should be loaded
@ -92,6 +94,7 @@ Feature: Caret mode
And I run :mode-leave
And I run :jseval document.activeElement.blur();
And I run :fake-key <tab>
And I wait for "* Got key: <qutebrowser.keyinput.keyutils.KeyInfo key='Key_Tab' modifiers='NoModifier' text='<Tab>'> (dry_run True)" in the log
And I run :selection-follow --tab
Then data/hello.txt should be loaded
@ -101,5 +104,6 @@ Feature: Caret mode
And I run :mode-leave
And I run :jseval document.activeElement.blur();
And I run :fake-key <tab>
And I wait for "* Got key: <qutebrowser.keyinput.keyutils.KeyInfo key='Key_Tab' modifiers='NoModifier' text='<Tab>'> (dry_run True)" in the log
And I run :selection-follow --tab
Then data/hello.txt should be loaded