The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use strict;
use warnings;

use Test::More;
use Dancer::Test;

plan tests => 2;

{
    package Webservice;
    use Dancer;

    BEGIN {
        set plugins => {
            'Params::Normalization' => {
                method => 'lowercase',
                params_types => [ qw (route) ],
            },
        };
    }
    use Dancer::Plugin::Params::Normalization;

    # the real test is done here : the route param is called 'NAME', but accessed
    # as 'name'
    get '/foo/:NAME' => sub {
		return params->{params->{name}};
    };
}

# only route params are lowercase'd
my $response = dancer_response GET => '/foo/test', { params => {TEST => 5 } };
ok(! length $response->{content});


# route param (:NAME) is lowercased to 'name', and returns 'plop'
$response = dancer_response GET => '/foo/plop', { params => { plop => 5 } };
is($response->{content}, 5);