Boxer
view release on metacpan or search on metacpan
t/05_world-reclass.t view on Meta::CPAN
#!/usr/bin/perl
use v5.14;
use utf8;
use Test::More;
use Test::Fatal;
use Test::Deep qw(:v1);
use Path::Tiny;
use Log::Any::Test;
use Log::Any qw($log);
use strictures 2;
no warnings "experimental::signatures";
use_ok('Boxer::World::Reclass');
my $world = new_ok(
'Boxer::World::Reclass' => [
suite => 'buster',
data => path('examples'),
]
);
cmp_deeply $world, all(
obj_isa('Boxer::World::Reclass'),
methods(
parts => all(
arraylength(3),
array_each( obj_isa('Boxer::Part::Reclass') ),
),
[ 'get_part', 'lxp5' ] => obj_isa('Boxer::Part::Reclass'),
[ 'get_part', 'foo' ] => undef,
),
listmethods(
list_parts => bag(qw( lxp5 parl-greens zsh )),
),
noclass(
{ data => obj_isa('Path::Tiny'),
classdir => obj_isa('Path::Tiny'),
nodedir => obj_isa('Path::Tiny'),
parts => ignore(),
suite => 'buster',
_logger => ignore(),
_logger_category => ignore(),
}
)
),
'world contains expected methods and data';
$log->category_contains_ok(
'Boxer::World::Reclass',
qr/^Part "foo" does not exist\.$/, 'failure logged'
);
$log->empty_ok("no more logs");
subtest 'from explicit classdir' => sub {
my $world = new_ok(
'Boxer::World::Reclass' => [
suite => 'buster',
data => path('examples'),
classdir => path('examples/classes'),
]
);
cmp_deeply $world, obj_isa('Boxer::World::Reclass'),
'world contains expected methods and data';
$log->empty_ok("no more logs");
};
( run in 1.028 second using v1.01-cache-2.11-cpan-54e63673c56 )