use strict;
use warnings;
use Test::More 0.88;
-use Test::Exception;
+use Test::Trap;
{
package MyScript;
with 'MooseX::Getopt';
has foo => ( isa => 'Int', is => 'ro', documentation => 'A foo' );
- has help => ( isa => 'Bool', is => 'ro', default => 0, documentation => 'Help');
our $usage = 0;
before _getopt_full_usage => sub { $usage++; };
{
local $MyScript::usage; local @MyScript::warnings; local @MyScript::exception;
local @ARGV = ('--help');
- throws_ok { MyScript->new_with_options } qr/A foo/;
+ trap { MyScript->new_with_options };
+ like($trap->stdout, qr/A foo/);
is $MyScript::usage, 1;
}
{
local $MyScript::usage; local @MyScript::warnings; local @MyScript::exception;
local @ARGV = ('-q'); # Does not exist
- throws_ok { MyScript->new_with_options } qr/A foo/;
+ trap { MyScript->new_with_options };
+ like($trap->die, qr/A foo/);
is_deeply \@MyScript::warnings, [
'Unknown option: q
'
my $exp = [
'Unknown option: q
',
- qq{usage: 104_override_usage.t [long options...]
-\t--help Help
-\t--foo A foo
+ qq{usage: 104_override_usage.t [-?] [long options...]
+\t-? --usage --help Prints this usage information.
+\t--foo A foo
}
];