#
# $Id$
#
#########################
# GtkButton Tests
# - rm
#########################
#########################
use Gtk2::TestHelper tests => 40;
ok( my $button = Gtk2::Button->new("Not Yet") );
ok(1);
ok( $button = Gtk2::Button->new_with_label("Not Yet") );
ok(1);
ok( $button = Gtk2::Button->new_with_mnemonic("_Not Yet") );
ok(1);
$button->signal_connect( "clicked" , sub
{
if( $_[0]->get_label eq 'Click _Me' )
{
$_[0]->set_label("Next");
ok(1);
ok( $_[0]->get_label eq 'Next' );
}
} );
ok(1);
foreach (qw/normal half none/)
{
$button->set_relief($_);
ok(1);
ok( $button->get_relief eq $_ );
}
$button->set_label('Click _Me');
ok(1);
ok( $button->get_label eq 'Click _Me' );
ok( my $button_stock = Gtk2::Button->new_from_stock('gtk-apply') );
$button_stock->show;
ok(1);
$button_stock->set_use_underline(1);
ok(1);
ok( $button_stock->get_use_underline );
SKIP: {
skip("[sg]et_focus_on_click and [sg]et_alignment are new in 2.4", 4)
unless Gtk2->CHECK_VERSION (2, 4, 0);
$button_stock->set_focus_on_click(0);
ok(1);
ok( ! $button_stock->get_focus_on_click() );
$button_stock->set_alignment(0.7, 0.3);
ok(1);
# avoid precision issues, only compare one decimal place.
is_deeply([map {sprintf '%.1f', $_} $button_stock->get_alignment()],
[0.7, 0.3]);
}
ok( my $button3 = Gtk2::Button->new('gtk-quit') );
$button3->signal_connect( "clicked" , sub
{
ok(1);
} );
$button3->set_use_stock(1);
ok(1);
ok( $button3->get_use_stock );
$button->pressed; ok(1);
$button->released; ok(1);
$button->clicked; ok(1);
$button->enter; ok(1);
$button->leave; ok(1);
$button->clicked; ok(1);
$button3->clicked; ok(1);
SKIP: {
skip("[sg]et_image are new in 2.6", 2)
unless Gtk2->CHECK_VERSION (2, 6, 0);
my $widget = Gtk2::Label->new ("Bla");
$button->set_image ($widget);
is ($button->get_image, $widget);
$button->set_image (undef);
is ($button->get_image, undef);
}
SKIP: {
skip("[sg]et_image_position are new in 2.10", 1)
unless Gtk2->CHECK_VERSION (2, 10, 0);
$button->set_image_position ("left");
is ($button->get_image_position, "left");
}
SKIP: {
skip 'new 2.22 stuff', 1
unless Gtk2->CHECK_VERSION(2, 22, 0);
my $button = Gtk2::Button->new ('gtk-quit');
my $window = Gtk2::Window->new;
$window->add ($button);
$button->realize;
isa_ok ($button->get_event_window, 'Gtk2::Gdk::Window');
}
__END__
Copyright (C) 2003-2006 by the gtk2-perl team (see the file AUTHORS for the
full list). See LICENSE for more information.