MAD-Loader

 view release on metacpan or  search on metacpan

t/02-methods/03-build/01-without-args.t  view on Meta::CPAN

    set_inc => ['t/lib'],
    builder => 'new',
);

my $loaded = $loader->load( 1 .. 4 );
my $built  = $loader->build( values %{$loaded} );

foreach my $module ( sort keys %{$built} ) {
    subtest $module => sub {
        my $object = $built->{$module};
        my $name = ( split m{::}, $module )[-1];

        isa_ok( $object, $module );
        can_ok( $object, 'foo' );
        is( $object->foo, $name, '$object->foo() eq ' . $name );
    };
}

done_testing;

t/02-methods/04-load-and-build/01-load-and-build.t  view on Meta::CPAN

    prefix  => 'Foo::Bar',
    set_inc => ['t/lib'],
    builder => 'new',
);

$built = $loader->load_and_build( 1 .. 4 );

foreach my $module ( sort keys %{$built} ) {
    subtest "$module without args" => sub {
        my $object = $built->{$module};
        my $name = ( split m{::}, $module )[-1];

        isa_ok( $object, $module );
        can_ok( $object, 'foo' );
        is( $object->foo, $name, '$object->foo() eq ' . $name );
    };
}

no warnings 'once';
is_deeply(
    \@Foo::Bar::0::build_order,

t/lib/Foo/Bar/1.pm  view on Meta::CPAN

package Foo::Bar::1;

use Moo;
extends 'Foo::Bar::0';

has 'foo' => (
    is      => 'ro',
    default => sub { ( split m{::}, __PACKAGE__ )[-1] },
);

sub BUILDARGS {
    my ( $class, @args ) = @_;

    unshift @args, 'foo' if @args;
    return {@args};
}

sub BUILD {

t/lib/Foo/Bar/2.pm  view on Meta::CPAN

package Foo::Bar::2;

use Moo;
extends 'Foo::Bar::0';

has 'foo' => (
    is      => 'ro',
    default => sub { ( split m{::}, __PACKAGE__ )[-1] },
);

sub BUILDARGS {
    my ( $class, @args ) = @_;

    unshift @args, 'foo' if @args;
    return {@args};
}

sub BUILD {

t/lib/Foo/Bar/3.pm  view on Meta::CPAN

package Foo::Bar::3;

use Moo;
extends 'Foo::Bar::0';

has 'foo' => (
    is      => 'ro',
    default => sub { ( split m{::}, __PACKAGE__ )[-1] },
);

sub BUILDARGS {
    my ( $class, @args ) = @_;

    unshift @args, 'foo' if @args;
    return {@args};
}

sub BUILD {

t/lib/Foo/Bar/4.pm  view on Meta::CPAN

package Foo::Bar::4;

use Moo;
extends 'Foo::Bar::0';

has 'foo' => (
    is      => 'ro',
    default => sub { ( split m{::}, __PACKAGE__ )[-1] },
);

sub BUILDARGS {
    my ( $class, @args ) = @_;

    unshift @args, 'foo' if @args;
    return {@args};
}

sub BUILD {



( run in 2.032 seconds using v1.01-cache-2.11-cpan-71847e10f99 )