1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
use strict;
use warnings;
use Test::More 0.88;
use lib 't/lib';
use Test::DZil;
{
my $tzil = Builder->from_config(
{ dist_root => 'corpus/dist/DZT' },
{
add_files => {
'source/dist.ini' => simple_ini(
'GatherDir',
'ModuleBuild',
[ Prereqs => { 'Foo::Bar' => '1.20' } ],
[ Prereqs => BuildRequires => { 'Builder::Bob' => '9.901' } ],
[ Prereqs => TestRequires => { 'Test::Deet' => '7' } ],
),
},
},
);
$tzil->build;
my $modulebuild = $tzil->plugin_named('ModuleBuild');
my $have = $modulebuild->__module_build_args;
my %want = (
'module_name' => 'DZT::Sample',
'dist_name' => 'DZT-Sample',
'dist_abstract' => 'Sample DZ Dist',
'dist_version' => '0.001',
'dist_author' => [
'E. Xavier Ample <example@example.org>'
],
'license' => 'perl',
'requires' => {
'Foo::Bar' => '1.20'
},
build_requires => {
'Builder::Bob' => '9.901',
'Module::Build' => '0.3601',
'Test::Deet' => '7',
},
'configure_requires' => {
'Module::Build' => '0.3601',
},
);
for my $key (sort keys %want) {
is_deeply(
$have->{ $key },
$want{ $key },
"correct value set for $key",
);
}
is($modulebuild->_use_custom_class, q{}, 'no custom class by default');
}
{
my $tzil = Builder->from_config(
{ dist_root => 'corpus/dist/DZT' },
{
add_files => {
'source/dist.ini' => simple_ini(
'GatherDir', [ 'ModuleBuild' => { mb_class => 'Foo::Build' } ],
),
},
},
);
$tzil->build;
my $modulebuild = $tzil->plugin_named('ModuleBuild');
is(
$modulebuild->_use_custom_class,
q{use lib 'inc'; use Foo::Build;},
'loads custom class from inc'
);
my $build = $tzil->slurp_file('build/Build.PL');
like($build, qr/\QFoo::Build->new/, 'Build.PL calls ->new on Foo::Build');
}
done_testing;
|