]> git.sur5r.net Git - i3/i3/blob - testcases/t/121-next-prev.t
Merge branch 'next'
[i3/i3] / testcases / t / 121-next-prev.t
1 #!perl
2 # vim:ts=4:sw=4:expandtab
3 #
4 # Tests focus switching (next/prev)
5 #
6 use i3test;
7
8 my $tmp = fresh_workspace;
9
10 ######################################################################
11 # Open one container, verify that 'focus down' and 'focus right' do nothing
12 ######################################################################
13 cmd 'open';
14
15 my ($nodes, $focus) = get_ws_content($tmp);
16 my $old_focused = $focus->[0];
17
18 cmd 'focus down';
19 ($nodes, $focus) = get_ws_content($tmp);
20 is($focus->[0], $old_focused, 'focus did not change with only one con');
21
22 cmd 'focus right';
23 ($nodes, $focus) = get_ws_content($tmp);
24 is($focus->[0], $old_focused, 'focus did not change with only one con');
25
26 ######################################################################
27 # Open another container, verify that 'focus right' switches
28 ######################################################################
29 my $left = $old_focused;
30
31 cmd 'open';
32 ($nodes, $focus) = get_ws_content($tmp);
33 isnt($old_focused, $focus->[0], 'new container is focused');
34 my $mid = $focus->[0];
35
36 cmd 'open';
37 ($nodes, $focus) = get_ws_content($tmp);
38 isnt($old_focused, $focus->[0], 'new container is focused');
39 my $right = $focus->[0];
40
41 cmd 'focus right';
42 ($nodes, $focus) = get_ws_content($tmp);
43 isnt($focus->[0], $right, 'focus did change');
44 is($focus->[0], $left, 'left container focused (wrapping)');
45
46 cmd 'focus right';
47 ($nodes, $focus) = get_ws_content($tmp);
48 is($focus->[0], $mid, 'middle container focused');
49
50 cmd 'focus right';
51 ($nodes, $focus) = get_ws_content($tmp);
52 is($focus->[0], $right, 'right container focused');
53
54 cmd 'focus left';
55 ($nodes, $focus) = get_ws_content($tmp);
56 is($focus->[0], $mid, 'middle container focused');
57
58 cmd 'focus left';
59 ($nodes, $focus) = get_ws_content($tmp);
60 is($focus->[0], $left, 'left container focused');
61
62 cmd 'focus left';
63 ($nodes, $focus) = get_ws_content($tmp);
64 is($focus->[0], $right, 'right container focused');
65
66
67 ######################################################################
68 # Test focus command
69 ######################################################################
70
71 cmd qq|[con_id="$mid"] focus|;
72 ($nodes, $focus) = get_ws_content($tmp);
73 is($focus->[0], $mid, 'middle container focused');
74
75
76 done_testing;