X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F008_configfromfile.t;h=292e6f5bb87c39827f2391723f4d24d6a49698d6;hb=9abbebcd30c28a2199e5b7d1b23fab8d9e99b82f;hp=affcd7e8ff4fb602eff4f9a6056a5c38d21bd071;hpb=78a71ae567752d6035566011e4900deb5af2cd75;p=gitmo%2FMooseX-Getopt.git diff --git a/t/008_configfromfile.t b/t/008_configfromfile.t index affcd7e..292e6f5 100644 --- a/t/008_configfromfile.t +++ b/t/008_configfromfile.t @@ -5,6 +5,7 @@ use warnings; use Test::Exception; use Test::More; +use File::Spec; if ( !eval { require MooseX::ConfigFromFile } ) { @@ -12,7 +13,7 @@ if ( !eval { require MooseX::ConfigFromFile } ) } else { - plan tests => 24; + plan tests => 25; } { @@ -55,7 +56,8 @@ else optional_from_config => 'from_config_2', ); - if ( $file ne '/notused/default' ) { + my $cpath = File::Spec->canonpath('/notused/default'); + if ( $file ne $cpath ) { $config{config_from_override} = 1; } @@ -70,7 +72,7 @@ else extends 'App'; has '+configfile' => ( - default => '/notused/default', + default => File::Spec->canonpath('/notused/default'), ); } @@ -88,7 +90,7 @@ else ok( !$app->config_from_override, '... config_from_override false as expected' ); - is( $app->configfile, '/notused/default', + is( $app->configfile, File::Spec->canonpath('/notused/default'), '... configfile is /notused/default as expected' ); } } @@ -111,7 +113,7 @@ else ok( $app->config_from_override, '... config_from_override true as expected' ); - is( $app->configfile, '/notused', + is( $app->configfile, File::Spec->canonpath('/notused'), '... configfile is /notused as expected' ); } } @@ -150,6 +152,27 @@ else '... optional_from_config is undef as expected' ); } +{ + package BaseApp::WithConfig; + use Moose; + with 'MooseX::ConfigFromFile'; + + sub get_config_from_file { return {}; } +} + +{ + package DerivedApp::Getopt; + use Moose; + extends 'BaseApp::WithConfig'; + with 'MooseX::Getopt'; +} + +# 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'; +} + sub app_ok { my $app = shift;