]> git.sur5r.net Git - i3/i3/blob - testcases/t/02-fullscreen.t
Change testcases to work with the released version of X11::XCB
[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 my $x = X11::XCB::Connection->new;
17
18 my $original_rect = X11::XCB::Rect->new(x => 0, y => 0, width => 30, height => 30);
19
20 my $window = $x->root->create_child(
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->map;
31
32 sleep(0.25);
33
34 my $new_rect = $window->rect;
35 ok(!eq_deeply($new_rect, $original_rect), "Window got repositioned");
36 $original_rect = $new_rect;
37
38 sleep(0.25);
39
40 $window->fullscreen(1);
41
42 sleep(0.25);
43
44 $new_rect = $window->rect;
45 ok(!eq_deeply($new_rect, $original_rect), "Window got repositioned after fullscreen");
46
47 $window->unmap;
48
49 $window = $x->root->create_child(
50         class => WINDOW_CLASS_INPUT_OUTPUT,
51         rect => $original_rect,
52         background_color => 61440,
53 );
54
55 is_deeply($window->rect, $original_rect, "rect unmodified before mapping");
56
57 $window->fullscreen(1);
58 $window->map;
59
60 sleep(0.25);
61
62 ok(!eq_deeply($new_rect, $original_rect), "Window got repositioned after fullscreen");
63 ok($window->mapped, "Window is mapped after opening it in fullscreen mode");
64
65 diag( "Testing i3, Perl $], $^X" );