X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FConfig-Any.git;a=blobdiff_plain;f=t%2F55-yaml.t;h=907d576bdd1229bba5ff03851fd0f649d961a775;hp=049b79f68ec175111ee8b426bd19778e8834582e;hb=3a4895023ae6455d2fdef716214e94c3e3ddfdcc;hpb=f0e3c2214342d0d8a8839009b8b9c7e6bfbc7ab2 diff --git a/t/55-yaml.t b/t/55-yaml.t index 049b79f..907d576 100644 --- a/t/55-yaml.t +++ b/t/55-yaml.t @@ -1,11 +1,49 @@ -use Test::More tests => 2; +use strict; +use warnings; +no warnings 'once'; +use Test::More; +use Config::Any; use Config::Any::YAML; +use Data::Dumper; -my $config = eval { Config::Any::YAML->load( 't/conf/conf.yml' ) }; +sub _dump { + local $Data::Dumper::Terse = 1; + local $Data::Dumper::Sortkeys = 1; + local $Data::Dumper::Indent = 1; + my $out = Data::Dumper::Dumper(@_); + $out =~ s/\s*\z//; + $out eq 'undef' ? undef : $out; +} + +if ( !Config::Any::YAML->is_supported && !$ENV{RELEASE_TESTING} ) { + plan skip_all => 'YAML format not supported'; +} +else { + plan tests => 6; +} -SKIP: { - skip "Couldn't Load YAML plugin", 2 if $@; +{ + my $config = Config::Any::YAML->load( 't/conf/conf.yml' ); ok( $config ); is( $config->{ name }, 'TestApp' ); } + +# test invalid config +{ + my $file = 't/invalid/conf.yml'; + my $config = eval { Config::Any::YAML->load( $file ) }; + + + is _dump($config), undef, 'config load failed'; + isnt $@, '', 'error thrown'; +} + +# parse error generated on invalid config +{ + my $file = 't/invalid/conf.yml'; + my $config = eval { Config::Any->load_files( { files => [$file], use_ext => 1} ) }; + + is _dump($config), undef, 'config load failed'; + isnt $@, '', 'error thrown'; +}