test for warnings everywhere
[gitmo/MooseX-Getopt.git] / t / 107_no_auto_help.t
index 1afeffb..e3b2132 100644 (file)
@@ -6,8 +6,17 @@
 
 # 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::More tests => 2;
+
+use Test::Requires {
+    'MooseX::SimpleConfig' => 0.07, # skip all if not installed
+};
+use Test::NoWarnings 1.04 ':early';
 
 my $fail_on_exit = 1;
 {
@@ -30,16 +39,12 @@ 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;
+use Test::Warn 0.21;
+use Test::Fatal 0.003;
 
 END {
     ok(!$fail_on_exit, 'getoptions() lives');
@@ -50,5 +55,13 @@ END {
 
 
 @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';