]> git.sur5r.net Git - i3/i3/blobdiff - testcases/t/256-no-auto-back-and-forth.t
Add --no-auto-back-and-forth for moving windows.
[i3/i3] / testcases / t / 256-no-auto-back-and-forth.t
index 770754d16d5074cf94e5106bb733d97ecb009759..859b76f15eee95e6b91cd711ff972546c408b1a5 100644 (file)
@@ -18,7 +18,7 @@
 # Ticket: #2028
 use i3test;
 
-my ($first, $second, $third);
+my ($first, $second, $third, $con);
 $first = "1:first";
 $second = "2:second";
 $third = "3:third";
@@ -52,6 +52,47 @@ ok(get_ws($first)->{focused}, 'first workspace is still focused');
 cmd qq|workspace --no-auto-back-and-forth number "$first"|;
 ok(get_ws($first)->{focused}, 'first  workspace is still focused');
 
+###############################################################################
+# Moving a window to another workspace when passing --no-auto-back-and-forth
+# works as if the flag wasn't set.
+###############################################################################
+
+cmd qq|workspace "$third"|;
+cmd qq|workspace "$second"|;
+cmd qq|workspace "$first"|;
+$con = open_window;
+cmd 'mark mywindow';
+
+cmd qq|move --no-auto-back-and-forth window to workspace "$second"|;
+is(@{get_ws($second)->{nodes}}, 1, 'window was moved to second workspace');
+cmd qq|[con_mark=mywindow] move window to workspace "$first"|;
+
+cmd qq|move --no-auto-back-and-forth window to workspace number "$third"|;
+is(@{get_ws($third)->{nodes}}, 1, 'window was moved to third workspace');
+cmd qq|[con_mark=mywindow] move window to workspace "$first"|;
+
+cmd '[con_mark=mywindow] kill';
+
+###############################################################################
+# Moving a window to the same workspace when passing --no-auto-back-and-forth
+# is a no-op.
+###############################################################################
+
+cmd qq|workspace "$second"|;
+cmd qq|workspace "$first"|;
+$con = open_window;
+cmd 'mark mywindow';
+
+cmd qq|move --no-auto-back-and-forth window to workspace "$first"|;
+is(@{get_ws($first)->{nodes}}, 1, 'window is still on first workspace');
+cmd qq|[con_mark=mywindow] move window to workspace "$first"|;
+
+cmd qq|move --no-auto-back-and-forth window to workspace number "$first"|;
+is(@{get_ws($first)->{nodes}}, 1, 'window is still on first workspace');
+cmd qq|[con_mark=mywindow] move window to workspace "$first"|;
+
+cmd '[con_mark=mywindow] kill';
+
 ###############################################################################
 
 done_testing;