X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMooseX-Getopt.git;a=blobdiff_plain;f=t%2F008_configfromfile.t;h=92e083ba0f2be992697f8ed84c8c8e4e6ac81231;hp=3e420ac610b7c0c6997b75f4a3fbd96b95012eb6;hb=25eb430dc9dc0e223b0a8cddf555e0dc3bbd26aa;hpb=bde911ddcfdec86961080d6292ff414753671793 diff --git a/t/008_configfromfile.t b/t/008_configfromfile.t index 3e420ac..92e083b 100644 --- a/t/008_configfromfile.t +++ b/t/008_configfromfile.t @@ -1,13 +1,13 @@ use strict; -use warnings; +use warnings FATAL => 'all'; -use Test::Requires { 'MooseX::ConfigFromFile' => '0.06' }; # skip all if not installed +use Test::Requires 'MooseX::ConfigFromFile'; # skip all if not installed use Test::More tests => 56; use Test::Fatal; use Test::Deep '!blessed'; -use Path::Tiny; +use Path::Tiny 0.009; use Scalar::Util 'blessed'; -use Test::NoWarnings 1.04 ':early'; +use Test::Warnings; my %constructor_args; { @@ -83,7 +83,7 @@ my %constructor_args; extends 'App'; has '+configfile' => ( - default => sub { return Path::Tiny::path('/notused/default') }, + default => sub { return Path::Tiny::path('/notused/default')->stringify }, ); } @@ -93,7 +93,7 @@ my %constructor_args; use Moose; extends 'App'; - around configfile => sub { '/notused/default' }; + sub _get_default_configfile { '/notused/default' } } @@ -114,7 +114,7 @@ my %constructor_args; ok( !$app->config_from_override, '... config_from_override false as expected' ); - is( $app->configfile, path('/notused/default'), + is( path($app->configfile), path('/notused/default'), '... configfile is /notused/default as expected' ); cmp_deeply( @@ -134,7 +134,7 @@ my %constructor_args; ok( !$app->config_from_override, '... config_from_override false as expected' ); - is( $app->configfile, path('/notused/default'), + is( path($app->configfile), path('/notused/default'), '... configfile is /notused/default as expected' ); cmp_deeply( @@ -146,7 +146,11 @@ my %constructor_args; ); } - { + SKIP: { + eval "use MooseX::ConfigFromFile 0.08 (); 1;"; + diag("MooseX::ConfigFromFile 0.08 needed to test this use of configfile defaults"), + skip "MooseX::ConfigFromFile 0.08 needed to test this use of configfile defaults", 7 if $@; + my $app = App::ConfigFileWrapped->new_with_options; isa_ok( $app, 'App::ConfigFileWrapped' ); app_ok( $app ); @@ -185,7 +189,7 @@ my %constructor_args; ok( $app->config_from_override, '... config_from_override true as expected' ); - is( $app->configfile, path('/notused/override'), + is( path($app->configfile), path('/notused/override'), '... configfile is /notused/override as expected' ); cmp_deeply( @@ -204,7 +208,7 @@ my %constructor_args; ok( $app->config_from_override, '... config_from_override true as expected' ); - is( $app->configfile, path('/notused/override'), + is( path($app->configfile), path('/notused/override'), '... configfile is /notused/override as expected' ); cmp_deeply( @@ -215,7 +219,7 @@ my %constructor_args; 'correct constructor args passed', ); } - TODO: { + { my $app = App::ConfigFileWrapped->new_with_options; isa_ok( $app, 'App::ConfigFileWrapped' ); app_ok( $app ); @@ -223,11 +227,7 @@ my %constructor_args; ok( $app->config_from_override, '... config_from_override true as expected' ); -# FIXME - in order for this to work, we need to fix CFF so the -# configfile method always returns the actual value of the attribute, -# not the default sub thingy. - local $TODO = 'MooseX::ConfigFromFile needs fixes'; - is( $app->configfile, path('/notused/override'), + is( path($app->configfile), path('/notused/override'), '... configfile is /notused as expected' ); cmp_deeply(