X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FConfig-Any.git;a=blobdiff_plain;f=t%2F50-general.t;h=cc7d6f8444b1aac6e10527fc0b7411ed501e2460;hp=34cc74cb9c1fa87171f57fadbb3d82c547f96164;hb=df0b9676f6f1ce3441a2d2f83cdcb8cd4a952966;hpb=9ac432c28992e8fe48ae8205a5895e99a086e993 diff --git a/t/50-general.t b/t/50-general.t index 34cc74c..cc7d6f8 100644 --- a/t/50-general.t +++ b/t/50-general.t @@ -1,16 +1,40 @@ -use Test::More tests => 4; +use strict; +use warnings; +use Test::More; use Config::Any::General; -my $config = eval { Config::Any::General->load( 't/conf/conf.conf' ) }; +if ( !Config::Any::General->is_supported ) { + plan skip_all => 'Config::General format not supported'; +} +else { + plan tests => 7; +} -SKIP: { - skip "Couldn't Load Config::General plugin", 4 if $@; +{ + my $config = Config::Any::General->load( 't/conf/conf.conf' ); ok( $config ); is( $config->{ name }, 'TestApp' ); ok( exists $config->{ Component } ); +} - $config = eval { Config::Any::General->load( 't/conf/conf.conf', { -LowerCaseNames => 1 } ) }; - +{ + my $config = Config::Any::General->load( 't/conf/conf.conf', + { -LowerCaseNames => 1 } ); ok( exists $config->{ component } ); } + +{ + my $config + = Config::Any::General->load( 't/conf/single_element_arrayref.conf' ); + is_deeply $config->{ foo }, [ 'bar' ], 'single element arrayref'; +} + +# test invalid config +{ + my $file = 't/invalid/conf.conf'; + my $config = eval { Config::Any::General->load( $file ) }; + + ok( !$config, 'config load failed' ); + ok( $@, "error thrown ($@)" ); +}