Renard-Curie
view release on metacpan or search on metacpan
t/Renard/Curie/App.t view on Meta::CPAN
subtest "Process arguments" => sub {
subtest "Process arguments for PDF file" => sub {
my $pdf_ref_path = try {
Renard::Block::Format::PDF::Devel::TestHelper->pdf_reference_document_path;
} catch {
plan skip_all => "$_";
};
my $c = CurieTestHelper->get_app_container;
my $app = $c->app;
local @ARGV = ($pdf_ref_path);
$app->process_arguments;
like $c->main_window->window->get_title, qr/\Q$pdf_ref_path\E/, "Window title contains path to file";
undef $app;
};
subtest "Process no arguments" => sub {
my $app = CurieTestHelper->get_app_container->app;
local @ARGV = ();
lives_ok {
$app->process_arguments;
} 'Processes no arguments fine';
undef $app;
};
subtest "Process arguments for non-existent file" => sub {
my $non_existent_filename = File::Temp::tmpnam();
local @ARGV = ($non_existent_filename);
my $app = CurieTestHelper->get_app_container->app;
throws_ok {
$app->process_arguments;
} 'Renard::Incunabula::Common::Error::IO::FileNotFound', "Throws exception when file not found";
undef $app;
};
subtest "Process --help flag" => sub {
my $app = CurieTestHelper->get_app_container->app;
local @ARGV = qw(--help);
trap { $app->process_arguments; };
like( $trap->stdout, qr/--help/, 'Shows usage text' );
is( $trap->exit, 0, 'Exits successfully after call' );
undef $app;
};
subtest "Process --version flag" => sub {
my $app = CurieTestHelper->get_app_container->app;
local @ARGV = qw(--version);
trap { $app->process_arguments; };
like( $trap->stdout, qr/Project Renard Curie/, 'Prints full name of application' );
is( $trap->exit, 0, 'Exits successfully after call' );
undef $app;
};
subtest "Process --short-version flag" => sub {
my $app = CurieTestHelper->get_app_container->app;
local @ARGV = qw(--short-version);
trap { $app->process_arguments; };
chomp( my $version_or_dev = $trap->stdout );
note "Got version: $version_or_dev";
if( $version_or_dev =~ qr/^dev$/ ) {
pass( 'Prints out dev as version' );
} else {
lives_ok {
version->parse($version_or_dev);
} "version parses";
}
( run in 1.537 second using v1.01-cache-2.11-cpan-49f99fa48dc )