Dancer2
view release on metacpan or search on metacpan
t/classes/Dancer2-Core-Request/new.t view on Meta::CPAN
use strict;
use warnings;
use Test::More tests => 10;
use Test::Fatal;
use Plack::Test;
use HTTP::Request::Common;
use Plack::Builder;
use URI::Escape;
BEGIN { use_ok('Dancer2::Core::Request') }
sub psgi_ok { [ 200, [], ['OK'] ] }
sub test_get_params {
my %exp_params = (
'name' => 'Alexis Sukrieh',
'IRC Nickname' => 'sukria',
'Project' => 'Perl Dancer2',
'hash' => [ 2, 4 ],
int1 => 1,
int2 => 0,
);
my $test = Plack::Test->create( sub {
my $env = shift;
my $request = Dancer2::Core::Request->new( env => $env );
is( $request->path, '/', 'path is set' );
is( $request->method, 'GET', 'method is set' );
ok( $request->is_get, 'method is GET' );
is_deeply(
scalar( $request->params ),
\%exp_params,
'params are OK',
);
is(
$request->params->{'name'},
'Alexis Sukrieh',
'params accessor works',
);
my %params = $request->params;
is_deeply(
scalar( $request->params ),
\%params,
'params wantarray works',
);
return psgi_ok;
} );
my $request_url = '/?' .
join '&', map {;
my $param = $_;
ref $exp_params{$param}
? map +( uri_escape($param).'='.uri_escape($_) ), @{ $exp_params{$_} }
: uri_escape($_).'='.uri_escape( $exp_params{$param} );
} keys %exp_params;
ok(
$test->request( GET $request_url )->is_success,
'Request successful',
( run in 1.273 second using v1.01-cache-2.11-cpan-54e63673c56 )