X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FConfig-Any.git;a=blobdiff_plain;f=t%2F53-perl.t;h=cd61a1f829cc9e77d79b2a2c457c5c69b82066a3;hp=5e51b4124d3c65fbb6a145285ac5d442be2a59b9;hb=0354f86ab5460df39f404093fd338f09b36aa54a;hpb=83020fbd096a2523ceedbb3ea1e9b99e030f994c diff --git a/t/53-perl.t b/t/53-perl.t index 5e51b41..cd61a1f 100644 --- a/t/53-perl.t +++ b/t/53-perl.t @@ -1,17 +1,46 @@ -use Test::More tests => 3; +use strict; +use warnings; +use Test::More tests => 9; +use Config::Any; use Config::Any::Perl; -my $file = 't/conf/conf.pl'; -my $config = eval { Config::Any::Perl->load( $file ) }; - -SKIP: { - skip "Couldn't Load Perl plugin", 3 if $@; +{ + my $file = 't/conf/conf.pl'; + my $config = Config::Any::Perl->load( $file ); ok( $config ); is( $config->{ name }, 'TestApp' ); - my $config_2 = eval { Config::Any::Perl->load( $file ) }; + my $config_load2 = Config::Any::Perl->load( $file ); + is_deeply( $config_load2, $config, 'multiple loads of the same file' ); +} + +# test invalid config +{ + my $file = 't/invalid/conf.pl'; + my $config; + my $loaded = eval { + $config = Config::Any::Perl->load( $file ); + 1; + }; + + ok( !$loaded, 'config load failed' ); + ok( !$config, 'config load failed' ); + ok( $@, "error thrown ($@)" ); +} + +# parse error generated on invalid config +{ + my $file = 't/invalid/conf.pl'; + my $config; + my $loaded = eval { + $config = Config::Any::Perl->load( $file ); + Config::Any->load_files( { files => [$file], use_ext => 1} ); + 1; + }; - is_deeply( $config_2, $config, 'multiple loads of perl configs' ); + ok( !$loaded, 'config load failed' ); + ok( !$config, 'config load failed' ); + ok( $@, "error thrown ($@)" ); }