t/525-i3bar-mouse-bindings.t: sync with i3 _and_ i3bar

See the comment in the code for rationale.
This commit is contained in:
Michael Stapelberg 2018-03-30 21:08:35 +02:00
parent 145ac532aa
commit 874151bb09
1 changed files with 17 additions and 9 deletions

View File

@ -100,11 +100,19 @@ sub focus_subtest {
is_deeply(\@focus, $want, $msg); is_deeply(\@focus, $want, $msg);
} }
sub sync {
# Ensure XTEST events were sent to i3, which grabs and hence needs to
# forward any events to i3bar:
xtest_sync_with_i3;
# Ensure any pending i3bar IPC messages were handled by i3:
xtest_sync_with($i3bar_window);
}
subtest 'button 1 moves focus left', \&focus_subtest, subtest 'button 1 moves focus left', \&focus_subtest,
sub { sub {
xtest_button_press(1, 3, 3); xtest_button_press(1, 3, 3);
xtest_button_release(1, 3, 3); xtest_button_release(1, 3, 3);
xtest_sync_with($i3bar_window); sync;
}, },
[ $left->{id} ], [ $left->{id} ],
'button 1 moves focus left'; 'button 1 moves focus left';
@ -113,7 +121,7 @@ subtest 'button 2 moves focus right', \&focus_subtest,
sub { sub {
xtest_button_press(2, 3, 3); xtest_button_press(2, 3, 3);
xtest_button_release(2, 3, 3); xtest_button_release(2, 3, 3);
xtest_sync_with($i3bar_window); sync;
}, },
[ $right->{id} ], [ $right->{id} ],
'button 2 moves focus right'; 'button 2 moves focus right';
@ -122,7 +130,7 @@ subtest 'button 3 moves focus left', \&focus_subtest,
sub { sub {
xtest_button_press(3, 3, 3); xtest_button_press(3, 3, 3);
xtest_button_release(3, 3, 3); xtest_button_release(3, 3, 3);
xtest_sync_with($i3bar_window); sync;
}, },
[ $left->{id} ], [ $left->{id} ],
'button 3 moves focus left'; 'button 3 moves focus left';
@ -131,7 +139,7 @@ subtest 'button 4 moves focus right', \&focus_subtest,
sub { sub {
xtest_button_press(4, 3, 3); xtest_button_press(4, 3, 3);
xtest_button_release(4, 3, 3); xtest_button_release(4, 3, 3);
xtest_sync_with($i3bar_window); sync;
}, },
[ $right->{id} ], [ $right->{id} ],
'button 4 moves focus right'; 'button 4 moves focus right';
@ -140,7 +148,7 @@ subtest 'button 5 moves focus left', \&focus_subtest,
sub { sub {
xtest_button_press(5, 3, 3); xtest_button_press(5, 3, 3);
xtest_button_release(5, 3, 3); xtest_button_release(5, 3, 3);
xtest_sync_with($i3bar_window); sync;
}, },
[ $left->{id} ], [ $left->{id} ],
'button 5 moves focus left'; 'button 5 moves focus left';
@ -152,7 +160,7 @@ my $old_focus = get_focused($ws);
subtest 'button 6 does not move focus while pressed', \&focus_subtest, subtest 'button 6 does not move focus while pressed', \&focus_subtest,
sub { sub {
xtest_button_press(6, 3, 3); xtest_button_press(6, 3, 3);
xtest_sync_with($i3bar_window); sync;
}, },
[], [],
'button 6 does not move focus while pressed'; 'button 6 does not move focus while pressed';
@ -161,7 +169,7 @@ is(get_focused($ws), $old_focus, 'focus unchanged');
subtest 'button 6 release moves focus right', \&focus_subtest, subtest 'button 6 release moves focus right', \&focus_subtest,
sub { sub {
xtest_button_release(6, 3, 3); xtest_button_release(6, 3, 3);
xtest_sync_with($i3bar_window); sync;
}, },
[ $right->{id} ], [ $right->{id} ],
'button 6 release moves focus right'; 'button 6 release moves focus right';
@ -171,7 +179,7 @@ subtest 'button 6 release moves focus right', \&focus_subtest,
subtest 'button 7 press moves focus left', \&focus_subtest, subtest 'button 7 press moves focus left', \&focus_subtest,
sub { sub {
xtest_button_press(7, 3, 3); xtest_button_press(7, 3, 3);
xtest_sync_with($i3bar_window); sync;
}, },
[ $left->{id} ], [ $left->{id} ],
'button 7 press moves focus left'; 'button 7 press moves focus left';
@ -179,7 +187,7 @@ subtest 'button 7 press moves focus left', \&focus_subtest,
subtest 'button 7 release moves focus right', \&focus_subtest, subtest 'button 7 release moves focus right', \&focus_subtest,
sub { sub {
xtest_button_release(7, 3, 3); xtest_button_release(7, 3, 3);
xtest_sync_with($i3bar_window); sync;
}, },
[ $right->{id} ], [ $right->{id} ],
'button 7 release moves focus right'; 'button 7 release moves focus right';