]> git.sur5r.net Git - i3/i3/blob - testcases/t/02-fullscreen.t
Expand fullscreen test to setting the hint before mapping the window
[i3/i3] / testcases / t / 02-fullscreen.t
1 #!perl
2
3 use Test::More tests => 8;
4 use Test::Deep;
5 use X11::XCB qw(:all);
6 use Data::Dumper;
7
8 # We use relatively long sleeps (1/4 second) to make sure the window manager
9 # reacted.
10 use Time::HiRes qw(sleep);
11
12 BEGIN {
13         use_ok('X11::XCB::Window');
14 }
15
16 X11::XCB::Connection->connect(':0');
17
18 my $original_rect = X11::XCB::Rect->new(x => 0, y => 0, width => 30, height => 30);
19
20 my $window = X11::XCB::Window->new(
21                 class => WINDOW_CLASS_INPUT_OUTPUT,
22                 rect => $original_rect,
23                 #override_redirect => 1,
24                 background_color => 12632256
25 );
26
27 isa_ok($window, 'X11::XCB::Window');
28
29 is_deeply($window->rect, $original_rect, "rect unmodified before mapping");
30
31 $window->create;
32 $window->map;
33
34 sleep(0.25);
35
36 my $new_rect = $window->rect;
37 ok(!eq_deeply($new_rect, $original_rect), "Window got repositioned");
38 $original_rect = $new_rect;
39
40 sleep(0.25);
41
42 $window->fullscreen(1);
43
44 sleep(0.25);
45
46 $new_rect = $window->rect;
47 ok(!eq_deeply($new_rect, $original_rect), "Window got repositioned after fullscreen");
48
49 $window->unmap;
50
51 $window = X11::XCB::Window->new(
52         class => WINDOW_CLASS_INPUT_OUTPUT,
53         rect => $original_rect,
54         background_color => 61440,
55 );
56
57 is_deeply($window->rect, $original_rect, "rect unmodified before mapping");
58
59 $window->create;
60 $window->fullscreen(1);
61 $window->map;
62
63 sleep(0.25);
64
65 ok(!eq_deeply($new_rect, $original_rect), "Window got repositioned after fullscreen");
66 ok($window->mapped, "Window is mapped after opening it in fullscreen mode");
67
68 diag( "Testing i3, Perl $], $^X" );