From 47041bdd73938d0d8bd0baa0fdc9d93713737f55 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Thu, 16 Jul 2009 13:43:43 +0200 Subject: [PATCH] Add testcases :-) --- testcases/Makefile | 4 ++++ testcases/t/00-load.t | 10 ++++++++ testcases/t/01-tile.t | 33 +++++++++++++++++++++++++ testcases/t/02-fullscreen.t | 48 +++++++++++++++++++++++++++++++++++++ 4 files changed, 95 insertions(+) create mode 100644 testcases/Makefile create mode 100644 testcases/t/00-load.t create mode 100644 testcases/t/01-tile.t create mode 100644 testcases/t/02-fullscreen.t diff --git a/testcases/Makefile b/testcases/Makefile new file mode 100644 index 00000000..60fdd8e4 --- /dev/null +++ b/testcases/Makefile @@ -0,0 +1,4 @@ +test: + PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, '/home/michael/xcb-perl/X11-XCB/lib/', '/home/michael/xcb-perl/X11-XCB/blib/lib', '/home/michael/xcb-perl/X11-XCB/blib/arch')" t/*.t + +all: test diff --git a/testcases/t/00-load.t b/testcases/t/00-load.t new file mode 100644 index 00000000..5dfc5c69 --- /dev/null +++ b/testcases/t/00-load.t @@ -0,0 +1,10 @@ +#!perl + +use Test::More tests => 2; + +BEGIN { + use_ok( 'X11::XCB::Connection' ); + use_ok( 'X11::XCB::Window' ); +} + +diag( "Testing i3, Perl $], $^X" ); diff --git a/testcases/t/01-tile.t b/testcases/t/01-tile.t new file mode 100644 index 00000000..10beb320 --- /dev/null +++ b/testcases/t/01-tile.t @@ -0,0 +1,33 @@ +#!perl + +use Test::More tests => 4; +use Test::Deep; +use X11::XCB qw(:all); +use Data::Dumper; + +BEGIN { + use_ok('X11::XCB::Window'); +} + +X11::XCB::Connection->connect(':0'); + +my $original_rect = X11::XCB::Rect->new(x => 0, y => 0, width => 30, height => 30); + +my $window = X11::XCB::Window->new( + class => WINDOW_CLASS_INPUT_OUTPUT, + rect => $original_rect, + #override_redirect => 1, + background_color => 12632256 +); + +isa_ok($window, 'X11::XCB::Window'); + +is_deeply($window->rect, $original_rect, "rect unmodified before mapping"); + +$window->create; +$window->map; + +my $new_rect = $window->rect; +ok(!eq_deeply($new_rect, $original_rect), "Window got repositioned"); + +diag( "Testing i3, Perl $], $^X" ); diff --git a/testcases/t/02-fullscreen.t b/testcases/t/02-fullscreen.t new file mode 100644 index 00000000..4564b305 --- /dev/null +++ b/testcases/t/02-fullscreen.t @@ -0,0 +1,48 @@ +#!perl + +use Test::More tests => 5; +use Test::Deep; +use X11::XCB qw(:all); + +# We use relatively long sleeps (1/4 second) to make sure the window manager +# reacted. +use Time::HiRes qw(usleep); + +BEGIN { + use_ok('X11::XCB::Window'); +} + +X11::XCB::Connection->connect(':0'); + +my $original_rect = X11::XCB::Rect->new(x => 0, y => 0, width => 30, height => 30); + +my $window = X11::XCB::Window->new( + class => WINDOW_CLASS_INPUT_OUTPUT, + rect => $original_rect, + #override_redirect => 1, + background_color => 12632256 +); + +isa_ok($window, 'X11::XCB::Window'); + +is_deeply($window->rect, $original_rect, "rect unmodified before mapping"); + +$window->create; +$window->map; + +usleep(0.25); + +my $new_rect = $window->rect; +ok(!eq_deeply($new_rect, $original_rect), "Window got repositioned"); +$original_rect = $new_rect; + +usleep(0.25); + +$window->fullscreen(1); + +usleep(0.25); + +$new_rect = $window->rect; +ok(!eq_deeply($new_rect, $original_rect), "Window got repositioned after fullscreen"); + +diag( "Testing i3, Perl $], $^X" );