Gtk2
view release on metacpan or search on metacpan
t/GtkFileChooser.t view on Meta::CPAN
#
# $Id$
#
use Gtk2::TestHelper
at_least_version => [2, 4, 0, 'GtkFileChooser is new in 2.4'],
tests => 43,
skip_all => 'this test is unreliable',
;
use File::Spec;
use Cwd;
sub update {
Gtk2->main_iteration while Gtk2->events_pending;
}
my $file_chooser = Gtk2::FileChooserWidget->new ('save');
isa_ok ($file_chooser, 'Gtk2::FileChooser');
is ($file_chooser->get_action, 'save', 'mode option from construction');
# Filename manipulation
#
my $filename = 'something that may not exist';
my $cwd = cwd ();
$file_chooser->set_current_name ($filename);
update; is_idle (sub {$file_chooser->get_filename},
undef,
'set current name');
$filename = File::Spec->catfile ($cwd, 'gtk2perl.h');
ok ($file_chooser->set_filename ($filename),
'set filename to something that exists');
update; is_idle (sub {$file_chooser->get_filename},
$filename,
'set current name to something that does exist');
ok ($file_chooser->select_filename ($filename));
update; is_idle (sub {$file_chooser->get_filename},
$filename,
'select something');
my @list = $file_chooser->get_filenames;
is (scalar (@list), 1, 'selected one thing');
is ($list[0], $filename, 'selected '.$filename);
$file_chooser->select_all;
@list = $file_chooser->get_filenames;
ok (scalar (@list));
$file_chooser->unselect_all;
my $folder = File::Spec->catfile ($cwd, 't');
ok ($file_chooser->set_current_folder ($folder));
update; is_idle (sub{$file_chooser->get_current_folder}, $folder);
ok ($file_chooser->set_current_folder ($cwd));
update; is_idle (sub{$file_chooser->get_current_folder}, $cwd);
# URI manipulation
#
my $uri = Glib::filename_to_uri (File::Spec->rel2abs ($0), undef);
ok ($file_chooser->set_uri ($uri));
update; is_idle (sub {$file_chooser->get_uri},
$uri,
'uri');
ok ($file_chooser->select_uri ($uri));
update; ok_idle (sub {scalar ($file_chooser->get_uris)},
'selected a uri');
$file_chooser->unselect_uri ($uri);
( run in 0.666 second using v1.01-cache-2.11-cpan-39bf76dae61 )