collapse these tests together
[gitmo/MooseX-Getopt.git] / t / 008_configfromfile.t
index 9ea94c8..c40fcc6 100644 (file)
@@ -1,15 +1,12 @@
-#!/usr/bin/env perl
-
 use strict;
 use warnings;
 
-use Test::More tests => 37;
-use Test::Exception;
+use Test::More tests => 38;
+use Test::Fatal;
 use File::Spec;
+use Test::NoWarnings 1.04 ':early';
 
-use Test::Requires {
-    'MooseX::ConfigFromFile' => 0.01, # skip all if not installed
-};
+use Test::Requires 'MooseX::ConfigFromFile';
 
 {
     package App;
@@ -86,7 +83,10 @@ use Test::Requires {
 {
     local @ARGV = qw( --required_from_argv 1 );
 
-    throws_ok { App->new_with_options } qr/Required option missing: required_from_config/;
+    like exception { App->new_with_options },
+        ($Getopt::Long::Descriptive::VERSION >= 0.091
+            ? qr/Mandatory parameter 'required_from_config' missing/
+            : qr/Required option missing: required_from_config/);
 
     {
         my $app = App::DefaultConfigFile->new_with_options;
@@ -155,7 +155,10 @@ use Test::Requires {
 # Required arg not supplied from cmdline
 {
     local @ARGV = qw( --configfile /notused );
-    throws_ok { App->new_with_options } qr/Required option missing: required_from_argv/;
+    like exception { App->new_with_options },
+        ($Getopt::Long::Descriptive::VERSION >= 0.091
+            ? qr/Mandatory parameter 'required_from_argv' missing/
+            : qr/Required option missing: required_from_argv/);
 }
 
 # Config file value overriden from cmdline
@@ -204,7 +207,7 @@ use Test::Requires {
 # With DerivedApp, the Getopt role was applied at a different level
 # than the ConfigFromFile role
 {
-    lives_ok { DerivedApp::Getopt->new_with_options } 'Can create DerivedApp';
+    ok ! exception { DerivedApp::Getopt->new_with_options }, 'Can create DerivedApp';
 }
 
 sub app_ok {