# -*- perl -*-
BEGIN { $|=1; $^W=1; }
use strict;
use Test;
BEGIN { plan tests => 19 };
use Tk;
use Tk::Button;
my $mw = Tk::MainWindow->new;
eval { $mw->geometry('+10+10'); }; # This works for mwm and interactivePlacement
##
## More than simple tests
##
{
my $b = $mw->Button();
my $method;
for my $mgr ( qw/grid pack form/ ) # 'place' needs args so ignored here
{
print "testing manager: $mgr ...\n";
$method = $mgr;
eval { $b->$method(); };
ok ($@, '', "Fatal!. Even managing one widget with $mgr failed");
eval { $mw->update; };
ok ($@, '', "Uh. Idletask problem after $mgr widget");
$method = $mgr . 'Info';
eval { my %opts = $b->$method(); };
ok ($@, '', "Fatal!. Even info on one widget failed with $mgr");
$method = $mgr . 'Forget';
eval { $b->$method(); };
ok ($@, '', "Fatal!. Even unmanage one widget failed with $mgr");
eval { $mw->update; };
ok ($@, '', "Uh. $mgr idletask problem with unmanage");
}
$b->destroy;
eval { $mw->update; };
ok ($@, '', "Uh. Idletask problem on destroy widget");
}
##
##
##
{
print "grid serveral buttons at once\n";
my $b1 = $mw->Button;
my $b2 = $mw->Button;
eval { $b1->grid($b2); };
ok ($@, '', "Failed to place 2 buttons with one grid call");
$b1->destroy;
$b2->destroy;
}
##
## Relative placement grid tests that fail in Tk800.005
##
{
print "grid and rel. placements\n";
my $b = $mw->Button();
#eval { $b->grid('-'); };
$b->grid('-');
ok ($@, '', "Problem with relative extent the column span by 1");
my %opt;
%opt = $b->gridInfo;
ok ($opt{-columnspan}, 2, "'-' gives wrong column span");
$b->destroy;
}
1;
__END__