X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F008_configfromfile.t;h=9373d0f3f72abcdfd48c036b735e9f3be1c213c5;hb=11417a07c5fd2029f4d6af70a44ff698aef07ad5;hp=9ea94c82e9ef3b9906c6c1f308e7a8dc7ecb915a;hpb=6a378fbdc3c4c5ca5b9f4de5e2ad60da912e9f97;p=gitmo%2FMooseX-Getopt.git diff --git a/t/008_configfromfile.t b/t/008_configfromfile.t index 9ea94c8..9373d0f 100644 --- a/t/008_configfromfile.t +++ b/t/008_configfromfile.t @@ -1,15 +1,11 @@ -#!/usr/bin/env perl - use strict; use warnings; -use Test::More tests => 37; -use Test::Exception; -use File::Spec; - -use Test::Requires { - 'MooseX::ConfigFromFile' => 0.01, # skip all if not installed -}; +use Test::Requires 'MooseX::ConfigFromFile' => '0.06'; # skip all if not installed +use Test::More tests => 38; +use Test::Fatal; +use Path::Tiny; +use Test::NoWarnings 1.04 ':early'; { package App; @@ -51,7 +47,7 @@ use Test::Requires { optional_from_config => 'from_config_2', ); - my $cpath = File::Spec->canonpath('/notused/default'); + my $cpath = Path::Tiny::path('/notused/default'); if ( $file ne $cpath ) { $config{config_from_override} = 1; } @@ -67,7 +63,7 @@ use Test::Requires { extends 'App'; has '+configfile' => ( - default => File::Spec->canonpath('/notused/default'), + default => Path::Tiny::path('/notused/default')->stringify, ); } @@ -78,7 +74,7 @@ use Test::Requires { extends 'App'; has '+configfile' => ( - default => sub { return File::Spec->canonpath('/notused/default') }, + default => sub { return Path::Tiny::path('/notused/default') }, ); } @@ -86,7 +82,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; @@ -96,7 +95,7 @@ use Test::Requires { ok( !$app->config_from_override, '... config_from_override false as expected' ); - is( $app->configfile, File::Spec->canonpath('/notused/default'), + is( $app->configfile, path('/notused/default'), '... configfile is /notused/default as expected' ); } } @@ -113,7 +112,7 @@ use Test::Requires { ok( !$app->config_from_override, '... config_from_override false as expected' ); - is( $app->configfile, File::Spec->canonpath('/notused/default'), + is( $app->configfile, path('/notused/default'), '... configfile is /notused/default as expected' ); } } @@ -136,7 +135,7 @@ use Test::Requires { ok( $app->config_from_override, '... config_from_override true as expected' ); - is( $app->configfile, File::Spec->canonpath('/notused'), + is( $app->configfile, path('/notused'), '... configfile is /notused as expected' ); } { @@ -147,7 +146,7 @@ use Test::Requires { ok( $app->config_from_override, '... config_from_override true as expected' ); - is( $app->configfile, File::Spec->canonpath('/notused'), + is( $app->configfile, path('/notused'), '... configfile is /notused as expected' ); } } @@ -155,7 +154,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 +206,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 {