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 41 42 43 44 45 46 47 48 49 50 51
|
use strict;
use warnings;
use Test::More;
use FindBin;
use lib "$FindBin::Bin/../lib";
use Plack::Test;
use Plack::Builder;
use HTTP::Request::Common;
use Plack::Middleware::Magpie;
my $handler = builder {
enable "Magpie", context => {}, pipeline => [
machine {
match '/myapp' => ['Core::Basic::Base', 'Core::Basic::Output'];
},
];
};
test_psgi
app => $handler,
client => sub {
my $cb = shift;
{
my $res = $cb->(GET "http://localhost/foo");
unlike $res->content, qr/basic::base::event_init/;
unlike $res->content, qr/basic::base::event_first/;
unlike $res->content, qr/basic::base::event_last/;
}
{
my $res = $cb->(GET "http://localhost/myapp");
like $res->content, qr/basic::base::event_init/;
unlike $res->content, qr/basic::base::event_first/;
unlike $res->content, qr/basic::base::event_last/;
}
{
my $res = $cb->(GET "http://localhost/myapp?appstate=first");
like $res->content, qr/basic::base::event_init/;
like $res->content, qr/basic::base::event_first/;
unlike $res->content, qr/basic::base::event_last/;
}
{
my $res = $cb->(GET "http://localhost/myapp?appstate=last");
like $res->content, qr/basic::base::event_init/;
like $res->content, qr/basic::base::event_last/;
unlike $res->content, qr/basic::base::event_first/;
}
};
done_testing();
|