use warnings tester with fewer dependencies, issues
[gitmo/MooseX-Getopt.git] / t / 107_no_auto_help.t
index 5450092..989e81d 100644 (file)
@@ -8,11 +8,20 @@
 # getoptions() will not call into pod2usage() (causing program termination)
 # when --help is passed (and MooseX::ConfigFromFile is in use).
 
+use strict;
+use warnings FATAL => 'all';
+
+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::Warnings;
 
 my $fail_on_exit = 1;
 {
     package Class;
-    use strict; use warnings;
+    use strict; use warnings FATAL => 'all';
 
     use Moose;
     with
@@ -30,25 +39,26 @@ 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';