better diagnostics on test failures
Graham Knop [Sun, 9 Apr 2017 13:09:06 +0000 (15:09 +0200)]
t/10-branches.t
t/20-parse.t
t/50-general.t
t/51-ini.t
t/52-json.t
t/53-perl.t
t/54-xml.t
t/55-yaml.t

index 9041f09..eda0ae8 100644 (file)
@@ -64,11 +64,11 @@ eval {
     Config::Any->load_files(
         {   files   => \@files,
             use_ext => 1,
-            filter  => sub { die }
+            filter  => sub { die "reject" }
         }
     );
 };
-ok( $@, "filter breaks" );
+like $@, qr/reject/, "filter breaks";
 
 my @stems = qw(t/supported/conf);
 ok( Config::Any->load_stems( { stems => \@stems, use_ext => 1 } ),
index bd834ba..e1696a9 100644 (file)
@@ -3,8 +3,7 @@ use strict;
 use warnings;
 no warnings 'once';
 
-$|++;
-use Test::More tests => 54;
+use Test::More tests => 6*9;
 use Scalar::Util qw(blessed reftype);
 use Config::Any;
 use Config::Any::General;
@@ -34,7 +33,7 @@ sub load_parser_for {
 
 for my $f ( map { "t/conf/conf.$_" } keys %ext_map ) {
     my ( $skip, $mod ) = load_parser_for( $f );
-SKIP: {
+    SKIP: {
         skip "File loading backend for $mod not found", 9 if $skip;
 
         ok( my $c_arr
index 5361ca2..373e8e8 100644 (file)
@@ -36,8 +36,8 @@ else {
     my $file = 't/invalid/conf.conf';
     my $config = eval { Config::Any::General->load( $file ) };
 
-    ok( !$config, 'config load failed' );
-    ok( $@,       "error thrown ($@)" );
+    is $config, undef, 'config load failed';
+    isnt $@, '', 'error thrown';
 }
 
 # parse error generated on invalid config
@@ -45,6 +45,6 @@ else {
     my $file = 't/invalid/conf.conf';
     my $config = eval { Config::Any->load_files( { files => [$file], use_ext => 1} ) };
 
-    ok( !$config, 'config load failed' );
-    ok( $@,       "error thrown ($@)" );
+    is $config, undef, 'config load failed';
+    isnt $@, '', 'error thrown';
 }
index c85ab27..9c81ca8 100644 (file)
@@ -53,8 +53,8 @@ else {
     my $file = 't/invalid/conf.ini';
     my $config = eval { Config::Any::INI->load( $file ) };
 
-    ok( !$config, 'config load failed' );
-    ok( $@,       "error thrown ($@)" );
+    is $config, undef, 'config load failed';
+    isnt $@, '', 'error thrown';
 }
 
 # parse error generated on invalid config
@@ -62,6 +62,6 @@ else {
     my $file = 't/invalid/conf.ini';
     my $config = eval { Config::Any->load_files( { files => [$file], use_ext => 1} ) };
 
-    ok( !$config, 'config load failed' );
-    ok( $@,       "error thrown ($@)" );
+    is $config, undef, 'config load failed';
+    isnt $@, '', 'error thrown';
 }
index 555e74e..c9e0967 100644 (file)
@@ -23,8 +23,8 @@ else {
     my $file = 't/invalid/conf.json';
     my $config = eval { Config::Any::JSON->load( $file ) };
 
-    ok( !$config, 'config load failed' );
-    ok( $@,       "error thrown ($@)" );
+    is $config, undef, 'config load failed';
+    isnt $@, '', 'error thrown';
 }
 
 # parse error generated on invalid config
@@ -32,6 +32,6 @@ else {
     my $file = 't/invalid/conf.json';
     my $config = eval { Config::Any->load_files( { files => [$file], use_ext => 1} ) };
 
-    ok( !$config, 'config load failed' );
-    ok( $@,       "error thrown ($@)" );
+    is $config, undef, 'config load failed';
+    isnt $@, '', 'error thrown';
 }
index 1c26ff4..6952948 100644 (file)
@@ -25,9 +25,9 @@ use Config::Any::Perl;
         1;
     };
 
-    ok( !$loaded, 'config load failed' );
-    ok( !$config, 'config load failed' );
-    ok( $@,       "error thrown ($@)" );
+    ok !$loaded, 'config load failed';
+    is $config, undef, 'config load failed';
+    like $@, qr/syntax error/, 'error thrown';
 }
 
 # parse error generated on invalid config
@@ -40,9 +40,9 @@ use Config::Any::Perl;
         1;
     };
 
-    ok( !$loaded, 'config load failed' );
-    ok( !$config, 'config load failed' );
-    ok( $@,       "error thrown ($@)" );
+    ok !$loaded, 'config load failed';
+    is $config, undef, 'config load failed';
+    like $@, qr/syntax error/, 'error thrown';
 }
 
 # test missing config
@@ -54,7 +54,7 @@ use Config::Any::Perl;
         1;
     };
 
-    ok( !$loaded, 'config load failed' );
-    ok( !$config, 'config load failed' );
-    ok( $@,       "error thrown ($@)" );
+    ok !$loaded, 'config load failed';
+    is $config, undef, 'config load failed';
+    like $@, qr/No such file or directory/, 'error thrown';
 }
index 0d546cb..0fc6fd9 100644 (file)
@@ -9,13 +9,24 @@ if ( !Config::Any::XML->is_supported ) {
     plan skip_all => 'XML format not supported';
 }
 else {
-    plan tests => 8;
+    plan tests => 7;
 }
 
 {
     my $config = Config::Any::XML->load( 't/conf/conf.xml' );
-    ok( $config );
-    is( $config->{ name }, 'TestApp' );
+    is_deeply $config, {
+        'Component' => {
+            'Controller::Foo' => {
+                'foo' => 'bar'
+            },
+        },
+        'name' => 'TestApp',
+        'Model' => {
+            'Model::Baz' => {
+                'qux' => 'xyzzy',
+            },
+        },
+    }, 'config loaded';
 }
 
 # test invalid config
@@ -28,8 +39,8 @@ SKIP: {
     my $file = 't/invalid/conf.xml';
     my $config = eval { Config::Any::XML->load( $file ) };
 
-    ok( !$config, 'config load failed' );
-    ok( $@,       "error thrown ($@)" );
+    is $config, undef, 'config load failed';
+    isnt $@, '', 'error thrown';
 }
 
 # test conf file with array ref
@@ -37,8 +48,20 @@ SKIP: {
     my $file = 't/conf/conf_arrayref.xml';
     my $config = eval { Config::Any::XML->load( $file ) };
 
-    ok( $config, 'config loaded' );
-    ok( !$@,     'no error thrown' );
+    is_deeply $config, {
+        'indicator' => 'submit',
+        'elements' => [
+            {
+                'label' => 'Label1',
+                'type' => 'Text',
+            },
+            {
+                'label' => 'Label2',
+                'type' => 'Text',
+            },
+        ],
+    }, 'config loaded';
+    is $@, '', 'no error thrown';
 }
 
 # parse error generated on invalid config
@@ -46,7 +69,7 @@ SKIP: {
     my $file = 't/invalid/conf.xml';
     my $config = eval { Config::Any->load_files( { files => [$file], use_ext => 1} ) };
 
-    ok( !$config, 'config load failed' );
-    ok( $@,       "error thrown ($@)" );
+    is $config, undef, 'config load failed';
+    isnt $@, '', 'error thrown';
 }
 
index b6d1f9e..2b2c52d 100644 (file)
@@ -24,8 +24,8 @@ else {
     my $file = 't/invalid/conf.yml';
     my $config = eval { Config::Any::YAML->load( $file ) };
 
-    ok( !$config, 'config load failed' );
-    ok( $@,       "error thrown ($@)" );
+    is $config, undef, 'config load failed';
+    isnt $@, '', 'error thrown';
 }
 
 # parse error generated on invalid config
@@ -33,6 +33,6 @@ else {
     my $file = 't/invalid/conf.yml';
     my $config = eval { Config::Any->load_files( { files => [$file], use_ext => 1} ) };
 
-    ok( !$config, 'config load failed' );
-    ok( $@,       "error thrown ($@)" );
+    is $config, undef, 'config load failed';
+    isnt $@, '', 'error thrown';
 }