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=1c26ff41e90f7f81790e966b1c874a4afb362323;hp=6d2d5ca70aeab4707ddd6f9467cbf643ca0f974a;hb=c63419999f2c029f35bfcd700ae196eb0a3a08fa;hpb=5a2e0210fe5c7da046be37b4240008f2b667be67 diff --git a/t/53-perl.t b/t/53-perl.t index 6d2d5ca..1c26ff4 100644 --- a/t/53-perl.t +++ b/t/53-perl.t @@ -1,8 +1,8 @@ use strict; use warnings; -use Test::More tests => 3; - +use Test::More tests => 12; +use Config::Any; use Config::Any::Perl; { @@ -16,3 +16,45 @@ use Config::Any::Perl; 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; + }; + + ok( !$loaded, 'config load failed' ); + ok( !$config, 'config load failed' ); + ok( $@, "error thrown ($@)" ); +} + +# test missing config +{ + my $file = 't/invalid/missing.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 ($@)" ); +}