Dancer2-Plugin-Syntax-ParamKeywords
view release on metacpan or search on metacpan
t/param_keywords.t view on Meta::CPAN
use strict;
use warnings;
use Test::More import => ['!pass'];
use Plack::Test;
use HTTP::Request::Common;
use Ref::Util qw<is_coderef>;
{
package App1;
use Dancer2;
use Dancer2::Plugin::Syntax::ParamKeywords;
get '/a/:foo/:bar' => sub { return "foo = " . route_param('foo') . ", bar = " . route_param( 'bar' ) };
get '/b' => sub { return 'bar = ' . query_param( 'bar' ) };
get '/c' => sub { return join( ', ', query_params( 'foo' ) ) };
get '/d' => sub {
my $params = query_params;
::isa_ok(
$params,
'Hash::MultiValue',
'...query_params',
);
return join( ', ', sort $params->values ) ;
};
post '/e' => sub {
my $params = body_parameters;
::isa_ok(
$params,
'Hash::MultiValue',
'..body_params',
);
::is_deeply(
[ sort $params->values ],
['bar', 'baz', 'blah', 'quux'],
'...got all values for body_params',
);
::is( body_param( 'foo' ), 'bar', '...got a single value' );
::is_deeply(
[ body_params( 'bar' ) ],
['baz', 'quux'],
'...got all values for a sing body param',
);
};
get '/f/:foo/:bar' => sub {
my $params = route_params;
::isa_ok(
$params,
'Hash::MultiValue',
'...route_params',
);
::is_deeply(
[ sort $params->values ],
[ 'bah', 'baz' ],
'...got all values for route_params',
( run in 0.529 second using v1.01-cache-2.11-cpan-63c85eba8c4 )