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
|
use strict;
use warnings;
use Test::More;
BEGIN {
use_ok('Message::Passing::Role::HasAConnection');
}
{
package TestConnectionManager;
use Moo;
use namespace::clean -except => 'meta';
our @THINGS;
sub subscribe_to_connect {
my ($self, $thing) = @_;
push(@THINGS, $thing);
}
}
{
package TestWithConnection;
use Moo;
use namespace::clean -except => 'meta';
with 'Message::Passing::Role::HasAConnection';
sub connected {} # Callback API
sub _build_connection_manager { TestConnectionManager->new }
}
my $i = TestWithConnection->new;
ok $i;
is scalar(@TestConnectionManager::THINGS), 1;
is $TestConnectionManager::THINGS[0], $i;
done_testing;
|