1use strict; 2use warnings; 3use Test::More 0.88; 4 5use CPAN::Meta; 6use File::Spec; 7use IO::Dir; 8 9sub _slurp { do { local(@ARGV,$/)=shift(@_); <> } } 10 11delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults 12 13my $data_dir = IO::Dir->new( 't/data-fixable' ); 14my @files = sort grep { /^\w/ } $data_dir->read; 15 16for my $f ( sort @files ) { 17 my $path = File::Spec->catfile('t','data-fixable',$f); 18 my $meta = eval { CPAN::Meta->load_file( $path ) }; 19 ok( defined $meta, "load_file('$f')" ) or diag $@; 20 my $string = _slurp($path); 21 my $method = $path =~ /\.json/ ? "load_json_string" : "load_yaml_string"; 22 my $meta2 = eval { CPAN::Meta->$method( $string, { fix_errors => 1 } ) }; 23 ok( defined $meta2, "$method(slurp('$f'))" ) or diag $@; 24} 25 26done_testing; 27 28