aboutsummaryrefslogtreecommitdiff
path: root/testcases/t/188-regress-focus-restart.t
blob: 51d3a8a7a99004016259229d36a78e7ddc8007b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!perl
# vim:ts=4:sw=4:expandtab
#
# Please read the following documents before working on tests:
# • https://build.i3wm.org/docs/testsuite.html
#   (or docs/testsuite)
#
# • https://build.i3wm.org/docs/lib-i3test.html
#   (alternatively: perldoc ./testcases/lib/i3test.pm)
#
# • https://build.i3wm.org/docs/ipc.html
#   (or docs/ipc)
#
# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf
#   (unless you are already familiar with Perl)
#
# Verifies that i3 survives inplace restarts with fullscreen containers
#
use i3test;

my $tmp = fresh_workspace;

open_window(name => 'first');
open_window(name => 'second');

cmd 'focus left';

my ($nodes, $focus) = get_ws_content($tmp);
is(scalar @$nodes, 2, 'two tiling nodes on workspace');
is($nodes->[0]->{name}, 'first', 'first node name ok');
is($nodes->[1]->{name}, 'second', 'second node name ok');
is($focus->[0], $nodes->[0]->{id}, 'first node focused');
is($focus->[1], $nodes->[1]->{id}, 'second node second in focus stack');

cmd 'restart';

does_i3_live;

($nodes, $focus) = get_ws_content($tmp);
is(scalar @$nodes, 2, 'still two tiling nodes on workspace');
is($nodes->[0]->{name}, 'first', 'first node name ok');
is($nodes->[1]->{name}, 'second', 'second node name ok');
is($focus->[0], $nodes->[0]->{id}, 'first node focused');
is($focus->[1], $nodes->[1]->{id}, 'second node second in focus stack');

done_testing;