fix up branches test which did not handle the errors thrown by changes from the last...
Brian Cassidy [Mon, 17 Nov 2008 13:40:15 +0000 (13:40 +0000)]
fix up error message for "any of" (RT #40972)

Changes
lib/Config/Any.pm
t/10-branches.t

diff --git a/Changes b/Changes
index acabb81..593c71f 100644 (file)
--- 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
index ef3430b..16dcd1b 100644 (file)
@@ -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<Module::Pluggable::Object|Module::Pluggable::Object>.
 
 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;
 }
 
index b211876..4ffdff5 100644 (file)
@@ -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" );