Gtk2-Ex-WidgetBits

 view release on metacpan or  search on metacpan

t/ToolItem-OverflowToDialog-weaken.t  view on Meta::CPAN

  or plan skip_all => 'due to Gtk2->init_check() unsuccessful';

# Test::Weaken 3 for "contents"
eval "use Test::Weaken 3; 1"
  or plan skip_all => "due to Test::Weaken 3 not available -- $@";

eval "use Test::Weaken::Gtk2; 1"
  or plan skip_all => "due to Test::Weaken::Gtk2 not available -- $@";

plan tests => 6;


{
  my $leaks = Test::Weaken::leaks
    ({ constructor => sub {
         return Gtk2::Ex::ToolItem::OverflowToDialog->new;
       },
       contents => \&Test::Weaken::Gtk2::contents_container,
     });
  is ($leaks, undef, 'plain');
  MyTestHelpers::test_weaken_show_leaks($leaks);
}

{
  my $leaks = Test::Weaken::leaks
    ({ constructor => sub {
         my $toolitem = Gtk2::Ex::ToolItem::OverflowToDialog->new;
         my $menuitem_ref = \($toolitem->retrieve_proxy_menu_item);
         return [ $toolitem, $menuitem_ref ];
       },
       contents => \&Test::Weaken::Gtk2::contents_container,
     });
  is ($leaks, undef, 'with menuitem');
  MyTestHelpers::test_weaken_show_leaks($leaks);
}

{
  my $leaks = Test::Weaken::leaks
    ({ constructor => sub {
         my $toolitem = Gtk2::Ex::ToolItem::OverflowToDialog->new;
         my $menuitem1 = $toolitem->retrieve_proxy_menu_item;
         my $menuitem2 = $toolitem->retrieve_proxy_menu_item;
         return [ $toolitem, $menuitem1, $menuitem2 ];
       },
       contents => \&Test::Weaken::Gtk2::contents_container,
     });
  is ($leaks, undef, 'with menuitem twice');
  MyTestHelpers::test_weaken_show_leaks($leaks);
}

{
  my $leaks = Test::Weaken::leaks
    ({ constructor => sub {
         my $toolitem = Gtk2::Ex::ToolItem::OverflowToDialog->new;
         my $menuitem = $toolitem->retrieve_proxy_menu_item;
         isa_ok ($menuitem, 'Gtk2::MenuItem');
         $menuitem->activate;
         my $dialog = $toolitem->{'dialog'};
         isa_ok ($dialog, 'Gtk2::Ex::ToolItem::OverflowToDialog::Dialog');
         $dialog->present;
         MyTestHelpers::main_iterations();
         return [ $toolitem, $menuitem, $dialog ];
       },
       contents => \&Test::Weaken::Gtk2::contents_container,
     });
  is ($leaks, undef, 'with dialog open');
  MyTestHelpers::test_weaken_show_leaks($leaks);
}

exit 0;



( run in 1.018 second using v1.01-cache-2.11-cpan-5511b514fd6 )