X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FConfig-Any.git;a=blobdiff_plain;f=t%2F54-xml.t;h=45fd66e805ff48a600267cdb46b95245bd5cac48;hp=02fd79376b35d109c6001baf20e4a4329126903d;hb=bb941906c239836c60ecce6d451cd896898f1efd;hpb=5770ffc01feb6998b8a7e23d66b52d33e4a62b35 diff --git a/t/54-xml.t b/t/54-xml.t index 02fd793..45fd66e 100644 --- a/t/54-xml.t +++ b/t/54-xml.t @@ -8,7 +8,7 @@ if ( !Config::Any::XML->is_supported ) { plan skip_all => 'XML format not supported'; } else { - plan tests => 4; + plan tests => 6; } { @@ -18,10 +18,24 @@ else { } # test invalid config -{ - my $file = 't/invalid/conf.xml'; +SKIP: { + my $broken_libxml + = eval { require XML::LibXML; XML::LibXML->VERSION lt '1.59'; }; + skip 'XML::LibXML < 1.58 has issues', 2 if $broken_libxml; + + local $SIG{ __WARN__ } = sub { }; # squash warnings from XML::Simple + my $file = 't/invalid/conf.xml'; my $config = eval { Config::Any::XML->load( $file ) }; ok( !$config, 'config load failed' ); - ok( $@, "error thrown ($@)" ); + ok( $@, "error thrown ($@)" ); +} + +# test conf file with array ref +{ + my $file = 't/conf/conf_arrayref.xml'; + my $config = eval { Config::Any::XML->load( $file ) }; + + ok( $config, 'config loaded' ); + ok( !$@, 'no error thrown' ); }