# # $Id$ # ######################### # GtkRadioButton Tests # - rm ######################### use Gtk2::TestHelper tests => 13; ok( my $vbox = Gtk2::VBox->new(0, 5) ); # $win->add($vbox); my $rdobtn; ok( $rdobtn = Gtk2::RadioButton->new() ); $vbox->pack_start($rdobtn, 0, 0, 0); ok( $rdobtn = Gtk2::RadioButton->new_from_widget($rdobtn) ); $vbox->pack_start($rdobtn, 0, 0, 0); ok( $rdobtn = Gtk2::RadioButton->new_from_widget($rdobtn, "label") ); $vbox->pack_start($rdobtn, 0, 0, 0); ok( $rdobtn = Gtk2::RadioButton->new(undef, "foo") ); $vbox->pack_start($rdobtn, 0, 0, 0); ok( $rdobtn = Gtk2::RadioButton->new($rdobtn, "bar") ); $vbox->pack_start($rdobtn, 0, 0, 0); ok( $rdobtn = Gtk2::RadioButton->new([ $rdobtn ], "bar2") ); $vbox->pack_start($rdobtn, 0, 0, 0); ok( scalar(@{$rdobtn->get_group}) == 3 ); { # get_group() no memory leaks in arrayref return and array items my $x = Gtk2::RadioButton->new; my $y = Gtk2::RadioButton->new; $y->set_group($x); my $aref = $x->get_group; is_deeply($aref, [$x,$y]); require Scalar::Util; Scalar::Util::weaken ($aref); is ($aref, undef, 'get_group() array destroyed by weakening'); Scalar::Util::weaken ($x); is ($x, undef, 'get_group() item x destroyed by weakening'); Scalar::Util::weaken ($y); is ($y, undef, 'get_group() item y destroyed by weakening'); } my $i; my @rdobtns; for( $i = 0; $i < 5; $i++ ) { $rdobtns[$i] = Gtk2::RadioButton->new(\@rdobtns, $i); $vbox->pack_start($rdobtns[$i], 0, 0, 0); } ok( scalar(@{$rdobtns[0]->get_group}) == 5 ); 1; __END__ Copyright (C) 2003, 2010 by the gtk2-perl team (see the file AUTHORS for the full list). See LICENSE for more information.