Catalyst-Plugin-SpecialAction-Trail
view release on metacpan or search on metacpan
t/10-trail.t view on Meta::CPAN
#!/usr/bin/env perl
use strict;
use warnings;
use Test::Most;
use FindBin;
use Path::Class;
use lib dir($FindBin::Bin)->subdir('lib')->stringify;
use HTTP::Request::Common;
use Catalyst::Test 'TestApp';
{
my ($response, $c) = ctx_request(
GET '/foo/quux'
);
ok(
$response->is_success,
"The request was successful ('trail' not enabled in the controller)"
);
eq_or_diff(
$c->called_actions,
[
'TestApp::Controller::Foo::quux',
],
"'trail' was not called ('trail' not enabled in the controller)"
);
}
{
my ($response, $c) = ctx_request(
GET '/foo/bar/quux'
);
ok(
$response->is_success,
"The request was successful (controller with 'trail' enabled)"
);
eq_or_diff(
$c->called_actions,
[
'TestApp::Controller::Foo::Bar::quux',
'TestApp::Controller::Root::trail',
'TestApp::Controller::Foo::trail',
'TestApp::Controller::Foo::Bar::trail',
'TestApp::Controller::Foo::Bar::end',
],
"'trail' is called (controller with 'trail' enabled)"
);
}
{
my ($response, $c) = ctx_request(
GET '/foo/qux/quux'
);
ok(
$response->is_success,
"The request was successful (controller with 'trail' enabled, "
. "no 'trail' method)"
);
eq_or_diff(
$c->called_actions,
[
'TestApp::Controller::Foo::Qux::quux',
'TestApp::Controller::Root::trail',
( run in 2.571 seconds using v1.01-cache-2.11-cpan-5735350b133 )