use Test::Exception;
use Test::More;
+use File::Spec;
if ( !eval { require MooseX::ConfigFromFile } )
{
}
else
{
- plan tests => 24;
+ plan tests => 25;
}
{
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;
}
extends 'App';
has '+configfile' => (
- default => '/notused/default',
+ default => File::Spec->canonpath('/notused/default'),
);
}
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' );
}
}
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' );
}
}
'... 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;