Alien-Build
view release on metacpan or search on metacpan
t/alien_build.t view on Meta::CPAN
use 5.008004;
use Test2::V0 -no_srand => 1;
use Test::Alien::Build;
use lib 't/lib';
use lib 'corpus/lib';
use MyTest::System;
use Alien::Build;
use Capture::Tiny qw( capture_merged );
use File::chdir;
use Path::Tiny qw( path );
use Alien::Build::Util qw( _dump );
use Digest::SHA qw( sha1_hex );
subtest 'simple new' => sub {
subtest 'basic basic' => sub {
my $build = MyBuild->new;
isa_ok $build, 'Alien::Build';
isa_ok( $build->meta, 'Alien::Build::Meta' );
isa_ok( MyBuild->meta, 'Alien::Build::Meta' );
note(_dump $build->meta);
};
subtest 'with meta_prop in new' => sub {
my $build = MyBuild2->new(meta_prop => { roger => 1, ramjet => [ 1,2,3] });
note(_dump $build->meta->prop);
is(
$build->meta_prop,
hash {
field roger => 1;
field ramjet => [1,2,3];
etc;
},
'has argument properties',
);
};
};
subtest 'from file' => sub {
my $build = Alien::Build->load('corpus/basic/alienfile');
isa_ok $build, 'Alien::Build';
isa_ok( $build->meta, 'Alien::Build::Meta' );
note(_dump $build->meta);
is( $build->requires, { Foo => '1.00' }, 'any' );
is( $build->requires('share'), { Foo => '1.00', Bar => '2.00' }, 'share' );
is( $build->requires('system'), { Foo => '1.00', Baz => '3.00' }, 'system' );
is( $build->requires('configure'), { 'Early::Module' => '1.234' }, 'configure' );
my $intr = $build->meta->interpolator;
isa_ok $intr, 'Alien::Build::Interpolate::Default';
};
subtest 'invalid alienfile' => sub {
eval { Alien::Build->load('corpus/basic/alienfilex') };
like $@, qr{Unable to read alienfile: };
};
( run in 1.872 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )