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