Dancer2
view release on metacpan or search on metacpan
t/classes/Dancer2/import.t view on Meta::CPAN
use strict;
use warnings;
use Test::More tests => 34;
use Test::Fatal;
use Scalar::Util 'refaddr';
use Plack::Test;
use HTTP::Request::Common;
BEGIN {
require Dancer2;
can_ok( Dancer2::, 'runner' );
is( Dancer2::->runner, undef, 'No runner by default' );
}
{
package App::CreatingRunner;
use Dancer2;
}
isa_ok( Dancer2->runner, 'Dancer2::Core::Runner', 'Runner created' );
my $runner_refaddr = refaddr( Dancer2->runner );
{
package App::NotRecreatingRunner;
use Dancer2;
}
isa_ok( Dancer2->runner, 'Dancer2::Core::Runner', 'Runner created' );
is( refaddr( Dancer2->runner ), $runner_refaddr, 'Runner not recreated' );
{
{
package FakeRunner;
sub psgi_app {
::isa_ok( $_[0], 'FakeRunner' );
::is( $_[1], 'psgi_param', 'psgi_app calls Runner->psgi_app' );
return 'Got it';
}
}
local $Dancer2::runner = bless {}, 'FakeRunner';
::is(
Dancer2->psgi_app('psgi_param'),
'Got it',
'psgi_app works as expected',
);
}
{
package App::ScriptAllowed;
require Dancer2;
::is(
::exception { Dancer2->import(':script') },
undef,
':script is allowed',
);
}
{
package App::TestsAllowed;
require Dancer2;
::is(
( run in 1.465 second using v1.01-cache-2.11-cpan-54e63673c56 )