use strict; use warnings; use Test::More; use xt::Util; note explain my $meta_data = make_meta_data(*DATA); subtest build_requires => sub { my $build_requires = $meta_data->{build_requires}; is $build_requires->{'Test::More'}, '0.96'; }; subtest requires => sub { my $requires = $meta_data->{requires}; is $requires->{Plack}, '0.9986'; is $requires->{'SQL::Maker'}, 0; }; subtest recommends => sub { my $recommends = $meta_data->{recommends}; is $recommends->{'JSON::XS'}, '2.0'; is $recommends->{'Test::TCP'}, '1.12'; }; done_testing; __DATA__ @@ Makefile.PL use inc::Module::Install; cpanfile; name 'Dummy'; all_from 'lib/Dummy.pm'; tests 't/*.t'; WriteAll; @@ cpanfile requires 'Plack' => '0.9986'; requires 'SQL::Maker'; recommends 'JSON::XS', '2.0'; on 'test' => sub { requires 'Test::More', '>= 0.96, < 2.0'; recommends 'Test::TCP', '1.12'; }; @@ lib/Dummy.pm package Dummy; use 5.006; our $VERSION = '0.1'; 1; __END__ =pod =head1 AUTHOR Tatsuhiko Miyagawa Emiyagawa@bulknews.netE =head1 COPYRIGHT Copyright 2012- Tatsuhiko Miyagawa =head1 LICENSE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut