From: Brian Cassidy Date: Mon, 17 Nov 2008 13:40:15 +0000 (+0000) Subject: fix up branches test which did not handle the errors thrown by changes from the last... X-Git-Tag: v0.16~1 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FConfig-Any.git;a=commitdiff_plain;h=0ac17764e57cb8e9593dea270d876758e759ca64;hp=1d172fc510f2ed15a00d475073f6df964b398484 fix up branches test which did not handle the errors thrown by changes from the last release (RT #40948) fix up error message for "any of" (RT #40972) --- diff --git a/Changes b/Changes index acabb81..593c71f 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,10 @@ Revision history for Config-Any +0.16 Mon 17 Nov 2008 + - fix up branches test which did not handle the errors thrown by + changes from the last release (RT #40948) + - fix up error message for "any of" (RT #40972) + 0.15 Wed 12 Nov 2008 - when use_ext is true, we will check to see if there are no supported modules for a particular file. instead of the file being skipped, an diff --git a/lib/Config/Any.pm b/lib/Config/Any.pm index ef3430b..16dcd1b 100644 --- a/lib/Config/Any.pm +++ b/lib/Config/Any.pm @@ -6,7 +6,7 @@ use warnings; use Carp; use Module::Pluggable::Object (); -our $VERSION = '0.15'; +our $VERSION = '0.16'; =head1 NAME @@ -178,7 +178,7 @@ sub _load { if ( $use_ext_lut ) { $filename =~ m{\.($extension_re)\z}; - if( !$1 ) { + if ( !$1 ) { $filename =~ m{\.([^.]+)\z}; croak "There are no loaders available for .${1} files"; } @@ -231,7 +231,9 @@ sub _support_error { map { ref $_ ? join( ' ', @$_ ) : $_ } $module->requires_all_of ); } if ( $module->can( 'requires_any_of' ) ) { - return 'one of ' . join( ' or ', $module->requires_any_of ); + return 'one of ' + . join( ' or ', + map { ref $_ ? join( ' ', @$_ ) : $_ } $module->requires_any_of ); } } @@ -263,6 +265,7 @@ found by L. sub plugins { my $class = shift; + # filter out things that don't look like our plugins return grep { $_->isa( 'Config::Any::Base' ) } $class->finder->plugins; } @@ -277,7 +280,8 @@ parameter to those methods. sub extensions { my $class = shift; - my @ext = map { $_->extensions } $class->plugins; + my @ext + = map { $_->extensions } grep { $_->is_supported } $class->plugins; return wantarray ? @ext : \@ext; } diff --git a/t/10-branches.t b/t/10-branches.t index b211876..4ffdff5 100644 --- a/t/10-branches.t +++ b/t/10-branches.t @@ -38,11 +38,12 @@ use_ok( 'Config::Any' ); ); } -# grep out files we don't understand for these tests -my @files = grep { !m{\.(foo|unsupported)$} } glob( "t/conf/conf.*" ); -my $filter = sub { return }; +# can only be sure that perl files will load +my @files = ( 't/conf/conf.pl' ); ok( Config::Any->load_files( { files => \@files, use_ext => 0 } ), "use_ext 0 works" ); + +my $filter = sub { return }; ok( Config::Any->load_files( { files => \@files, use_ext => 1 } ), "use_ext 1 works" );