#!perl
# GH #1 by Peter Shangov
# making sure both Log::Dispatchouli and L::D::Proxy work
use Test::More tests => 6;
use Test::Fatal;
{
package MyTestZASD2;
use Moo;
with 'MooseX::Role::Loggable';
}
my $class = 'MyTestZASD2';
my $object;
is(
exception {
$object = $class->new(
logger => Log::Dispatchouli->new( { ident => 'me' } )
)
},
undef,
'Able to create class with logger Log::Dispatchouli',
);
isa_ok( $object, $class );
isa_ok( $object->logger, 'Log::Dispatchouli' );
my $proxy = $object->logger->proxy;
isa_ok( $proxy, 'Log::Dispatchouli::Proxy' );
is(
exception { $class->new( logger => $proxy ) },
undef,
'Able to create class with logger Log::Dispatchouli::Proxy',
);
like(
exception { $class->new( logger => bless {}, 'BASDz7ad' ) },
qr/must be a Log::Dispatchouli object/,
'Still cannot create class with bad logger',
);