diff options
Diffstat (limited to 'cpan/CPAN-Meta/t/load-bad.t')
-rw-r--r-- | cpan/CPAN-Meta/t/load-bad.t | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/cpan/CPAN-Meta/t/load-bad.t b/cpan/CPAN-Meta/t/load-bad.t new file mode 100644 index 0000000000..d18b65caa6 --- /dev/null +++ b/cpan/CPAN-Meta/t/load-bad.t @@ -0,0 +1,25 @@ +use strict; +use warnings; +use Test::More 0.88; + +use CPAN::Meta; +use File::Spec; +use IO::Dir; + +sub _slurp { do { local(@ARGV,$/)=shift(@_); <> } } + +my $data_dir = IO::Dir->new( 't/data-bad' ); +my @files = sort grep { /^\w/ } $data_dir->read; + +for my $f ( sort @files ) { + my $path = File::Spec->catfile('t','data-bad',$f); + my $meta = eval { CPAN::Meta->load_file( $path, { fix_errors => 1 } ) }; + ok( defined $meta, "load_file('$f')" ) or diag $@; + my $string = _slurp($path); + my $method = $path =~ /\.json/ ? "load_json_string" : "load_yaml_string"; + my $meta2 = eval { CPAN::Meta->$method( $string, { fix_errors => 1 } ) }; + ok( defined $meta2, "$method(slurp('$f'))" ) or diag $@; +} + +done_testing; + |