X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F008_configfromfile.t;h=e228d35a8d9206324ced5efdb0afce5e4ae5e8b9;hb=c6858912da6e23461db6e38193a39daa8eb85db5;hp=9a490e5336ade17b9e6e4d9bd203f1cc7330964a;hpb=44f514c7b7f403894b44d3b8ce7da3254cd40928;p=gitmo%2FMooseX-Getopt.git diff --git a/t/008_configfromfile.t b/t/008_configfromfile.t index 9a490e5..e228d35 100644 --- a/t/008_configfromfile.t +++ b/t/008_configfromfile.t @@ -1,10 +1,10 @@ use strict; use warnings; -use Test::Requires 'MooseX::ConfigFromFile'; # 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 File::Spec; +use Path::Tiny; use Test::NoWarnings 1.04 ':early'; { @@ -47,7 +47,7 @@ use Test::NoWarnings 1.04 ':early'; 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; } @@ -63,7 +63,7 @@ use Test::NoWarnings 1.04 ':early'; extends 'App'; has '+configfile' => ( - default => File::Spec->canonpath('/notused/default'), + default => Path::Tiny::path('/notused/default')->stringify, ); } @@ -74,7 +74,7 @@ use Test::NoWarnings 1.04 ':early'; extends 'App'; has '+configfile' => ( - default => sub { return File::Spec->canonpath('/notused/default') }, + default => sub { return Path::Tiny::path('/notused/default') }, ); } @@ -95,14 +95,9 @@ use Test::NoWarnings 1.04 ':early'; 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' ); } -} - -# No config specified -{ - local @ARGV = qw( --required_from_argv 1 ); { my $app = App::DefaultConfigFileCodeRef->new_with_options; @@ -112,14 +107,14 @@ use Test::NoWarnings 1.04 ':early'; 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' ); } } # Config specified { - local @ARGV = qw( --configfile /notused --required_from_argv 1 ); + local @ARGV = qw( --configfile /notused/override --required_from_argv 1 ); { my $app = App->new_with_options; @@ -135,8 +130,8 @@ use Test::NoWarnings 1.04 ':early'; ok( $app->config_from_override, '... config_from_override true as expected' ); - is( $app->configfile, File::Spec->canonpath('/notused'), - '... configfile is /notused as expected' ); + is( $app->configfile, path('/notused/override'), + '... configfile is /notused/override as expected' ); } { my $app = App::DefaultConfigFileCodeRef->new_with_options; @@ -146,14 +141,14 @@ use Test::NoWarnings 1.04 ':early'; 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' ); } } # Required arg not supplied from cmdline { - local @ARGV = qw( --configfile /notused ); + local @ARGV = qw( --configfile /notused/override ); like exception { App->new_with_options }, ($Getopt::Long::Descriptive::VERSION >= 0.091 ? qr/Mandatory parameter 'required_from_argv' missing/ @@ -162,7 +157,7 @@ use Test::NoWarnings 1.04 ':early'; # Config file value overriden from cmdline { - local @ARGV = qw( --configfile /notused --required_from_argv 1 --required_from_config override ); + local @ARGV = qw( --configfile /notused/override --required_from_argv 1 --required_from_config override ); my $app = App->new_with_options; isa_ok( $app, 'App' );