]> git.sur5r.net Git - i3/i3/blob - testcases/t/02-fullscreen.t
tests: Use hex color codes for background_color
[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                 background_color => '#C0C0C0',
24 );
25
26 isa_ok($window, 'X11::XCB::Window');
27
28 is_deeply($window->rect, $original_rect, "rect unmodified before mapping");
29
30 $window->create;
31 $window->map;
32
33 sleep(0.25);
34
35 my $new_rect = $window->rect;
36 ok(!eq_deeply($new_rect, $original_rect), "Window got repositioned");
37 $original_rect = $new_rect;
38
39 sleep(0.25);
40
41 $window->fullscreen(1);
42
43 sleep(0.25);
44
45 $new_rect = $window->rect;
46 ok(!eq_deeply($new_rect, $original_rect), "Window got repositioned after fullscreen");
47
48 $window->unmap;
49
50 $window = X11::XCB::Window->new(
51         class => WINDOW_CLASS_INPUT_OUTPUT,
52         rect => $original_rect,
53         background_color => 61440,
54 );
55
56 is_deeply($window->rect, $original_rect, "rect unmodified before mapping");
57
58 $window->create;
59 $window->fullscreen(1);
60 $window->map;
61
62 sleep(0.25);
63
64 ok(!eq_deeply($new_rect, $original_rect), "Window got repositioned after fullscreen");
65 ok($window->mapped, "Window is mapped after opening it in fullscreen mode");
66
67 diag( "Testing i3, Perl $], $^X" );