]> git.sur5r.net Git - i3/i3/commitdiff
Add testcases :-)
authorMichael Stapelberg <michael@stapelberg.de>
Thu, 16 Jul 2009 11:43:43 +0000 (13:43 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Thu, 16 Jul 2009 11:43:43 +0000 (13:43 +0200)
testcases/Makefile [new file with mode: 0644]
testcases/t/00-load.t [new file with mode: 0644]
testcases/t/01-tile.t [new file with mode: 0644]
testcases/t/02-fullscreen.t [new file with mode: 0644]

diff --git a/testcases/Makefile b/testcases/Makefile
new file mode 100644 (file)
index 0000000..60fdd8e
--- /dev/null
@@ -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 (file)
index 0000000..5dfc5c6
--- /dev/null
@@ -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 (file)
index 0000000..10beb32
--- /dev/null
@@ -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 (file)
index 0000000..4564b30
--- /dev/null
@@ -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" );