diff options
Diffstat (limited to 't/merge.t')
-rw-r--r-- | t/merge.t | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/t/merge.t b/t/merge.t new file mode 100644 index 0000000..f082cbd --- /dev/null +++ b/t/merge.t @@ -0,0 +1,65 @@ +use strict; +use Module::CPANfile; +use Test::More; +use t::Utils; + +{ + my $r = write_files(cpanfile => <<CPANFILE, 'META.json' => <<META); +requires 'Plack', '0.9970'; + +on 'test' => sub { + requires 'Test::More', '0.90'; +}; + +on 'develop' => sub { + requires 'Catalyst::Runtime', '> 5.8000, < 5.9'; +}; +CPANFILE +{ + "abstract" : "A format for describing CPAN dependencies of Perl applications", + "author" : [ + "Tatsuhiko Miyagawa" + ], + "dynamic_config" : 0, + "generated_by" : "ExtUtils::MakeMaker version 6.64, CPAN::Meta::Converter version 2.120921", + "meta-spec" : { + "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", + "version" : "2" + }, + "name" : "Module-CPANfile", + "prereqs" : { + "build" : { + "requires" : { + "ExtUtils::MakeMaker" : "0" + } + }, + "configure" : { + "requires" : { + "ExtUtils::MakeMaker" : "6.31" + } + }, + "runtime" : { + "requires" : { + "perl" : "5.008001", + "Plack" : "0.9000" + } + } + }, + "version" : "0.9007" +} +META + + my $file = Module::CPANfile->load; + $file->merge_meta('META.json'); + + my $meta = CPAN::Meta->load_file('META.json'); + is_deeply $meta->prereqs, { + build => { requires => { 'ExtUtils::MakeMaker' => 0 } }, + configure => { requires => { 'ExtUtils::MakeMaker' => '6.31' } }, + runtime => { requires => { 'perl' => '5.008001', 'Plack' => '0.9970' } }, + develop => { requires => { 'Catalyst::Runtime' => '> 5.8000, < 5.9' } }, + test => { requires => { 'Test::More' => '0.90' } }, + }; +} + +done_testing; |