diff options
Diffstat (limited to 'cpan/CPAN-Meta/t/converter.t')
-rw-r--r-- | cpan/CPAN-Meta/t/converter.t | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/cpan/CPAN-Meta/t/converter.t b/cpan/CPAN-Meta/t/converter.t index 5cd3e44e70..4bab817303 100644 --- a/cpan/CPAN-Meta/t/converter.t +++ b/cpan/CPAN-Meta/t/converter.t @@ -8,6 +8,20 @@ use CPAN::Meta::Converter; use File::Spec; use IO::Dir; use Parse::CPAN::Meta 1.4400; +use version; + +# mock file object +package + File::StringObject; + +use overload q{""} => sub { ${$_[0]} }, fallback => 1; + +sub new { + my ($class, $file) = @_; + bless \$file, $class; +} + +package main; my $data_dir = IO::Dir->new( 't/data' ); my @files = sort grep { /^\w/ } $data_dir->read; @@ -148,5 +162,16 @@ for my $f ( reverse sort @files ) { ); } -done_testing; +# specific test for object conversion +{ + my $path = File::Spec->catfile('t','data','resources.yml'); + my $original = Parse::CPAN::Meta->load_file( $path ); + ok( $original, "loaded resources.yml" ); + $original->{version} = version->new("1.64"); + $original->{no_index}{file} = File::StringObject->new(".gitignore"); + pass( "replaced some data fields with objects" ); + my $cmc = CPAN::Meta::Converter->new( $original ); + ok( my $converted = $cmc->convert( version => 2 ), "conversion successful" ); +} +done_testing; |