#!/usr/bin/env perl
use strict; use warnings;
use Test::More tests => 7;
use Test::Moose;
{
package Rollo;
use MooseX::POE::Role;
sub foo { ::pass('foo!')}
event yarr => sub { ::pass("yarr!"); shift->yield('matey'); };
event matey => sub { ::pass("matey!") };
}
{
package App;
use MooseX::POE;
with qw(Rollo);
sub START {
my ($self) = $_[OBJECT];
::pass('START');
$self->foo();
$self->yield('next');
}
event next => sub {
my ($self) = $_[OBJECT];
::pass('next');
$self->yield("yarr");
};
sub STOP { ::pass('STOP') }
}
my $obj = App->new;
does_ok($obj, 'Rollo');
POE::Kernel->run;