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{PERL_YAML_BACKEND}; 12delete $ENV{PERL_JSON_BACKEND}; 13delete $ENV{CPAN_META_JSON_BACKEND}; 14delete $ENV{CPAN_META_JSON_DECODER}; 15 16my $data_dir = IO::Dir->new( 't/data-fixable' ); 17my @files = sort grep { /^\w/ } $data_dir->read; 18 19for my $f ( sort @files ) { 20 my $path = File::Spec->catfile('t','data-fixable',$f); 21 ok( eval { CPAN::Meta->load_file( $path ) }, "load_file('$f')" ) or diag $@; 22 my $string = _slurp($path); 23 my $method = $path =~ /\.json/ ? "load_json_string" : "load_yaml_string"; 24 ok( eval { CPAN::Meta->$method( $string, { fix_errors => 1 } ) }, "$method(slurp('$f'))" ) or diag $@; 25} 26 27done_testing; 28# vim: ts=2 sts=2 sw=2 et: 29