]> git.sur5r.net Git - i3/i3/blob - testcases/t/10-dock.t
Change testcases to work with the released version of X11::XCB
[i3/i3] / testcases / t / 10-dock.t
1 #!perl
2 # vim:ts=4:sw=4:expandtab
3
4 use Test::More tests => 2;
5 use Test::Deep;
6 use X11::XCB qw(:all);
7 use Data::Dumper;
8 use Time::HiRes qw(sleep);
9 use FindBin;
10 use lib "$FindBin::Bin/lib";
11 use i3test;
12 use List::Util qw(first);
13
14 BEGIN {
15     #use_ok('IO::Socket::UNIX') or BAIL_OUT('Cannot load IO::Socket::UNIX');
16     use_ok('X11::XCB::Connection') or BAIL_OUT('Cannot load X11::XCB::Connection');
17 }
18
19 my $x = X11::XCB::Connection->new;
20
21 #####################################################################
22 # Create a dock window and see if it gets managed
23 #####################################################################
24
25 my $screens = $x->screens;
26
27 # Get the primary screen
28 my $primary = first { $_->primary } @{$screens};
29
30 # TODO: focus the primary screen before
31
32 my $window = $x->root->create_child(
33     class => WINDOW_CLASS_INPUT_OUTPUT,
34     rect => [ 0, 0, 30, 30],
35     background_color => '#FF0000',
36     type => $x->atom(name => '_NET_WM_WINDOW_TYPE_DOCK'),
37 );
38
39 $window->map;
40
41 sleep 0.25;
42
43 my $rect = $window->rect;
44 is($rect->width, $primary->rect->width, 'dock client is as wide as the screen');
45
46 diag( "Testing i3, Perl $], $^X" );