# Summary: If we disable the "auto_help" option in Getopt::Long, then
# getoptions() will not call into pod2usage() (causing program termination)
-# when --help is passed.
+# when --help is passed (and MooseX::ConfigFromFile is in use).
+use strict;
+use warnings;
+
+use Test::Requires { 'MooseX::SimpleConfig' => 0.07 }; # skip all if not installed
+use Test::More tests => 2;
+use Test::Warn 0.21;
+use Test::Fatal 0.003;
+
+use Test::NoWarnings 1.04 ':early';
my $fail_on_exit = 1;
{
},
);
- # only here to avoid an "unknown option: help" warning
- has help => (
- is => 'ro', isa => 'Bool',
- );
-
no Moose;
1;
}
-use Test::More tests => 1;
-
END {
ok(!$fail_on_exit, 'getoptions() lives');
- # cancel the non-zero exit status from _getopt_full_usage()
+ # cancel the non-zero exit status from print_usage_text()
exit 0;
}
@ARGV = ('--help');
-Class->new_with_options;
+
+warning_like {
+ like exception { Class->new_with_options },
+ #usage: 107_no_auto_help.t [-?] [long options...]
+ qr/^usage: [\d\w]+\Q.t [-?] [long options...]\E.\s+\Q-? --usage --help Prints this usage information.\E.\s+--configfile/ms,
+ 'usage information looks good';
+ }
+ qr/^Specified configfile \'this_value_unimportant\' does not exist, is empty, or is not readable$/,
+ 'Our dummy config file doesn\'t exist';