The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/env perl

use strict;
use warnings;
use FindBin;
use Test::More import => ['!pass'];

{
    BEGIN {
        use Dancer;
        set plugins => { 'Locale::TextDomain' => { locale_path => 't/locale' } };

    };
    use Dancer::Plugin::Locale::Detect;
    use Dancer::Plugin::Locale::TextDomain;

    get '/' => sub {
        return __"greet";
    };
}

use Dancer::Test;

response_content_is [GET => '/?locale=nl'], "Hallo", "locale from param";
response_content_is [GET => '/?locale=fr'], "Bonjour", "locale from param";

my $res;

$res = dancer_response('GET', '/', { headers => ['Accept-Language' => 'en-CA,en;q=0.8,en-US;q=0.6'] });
is $res->{content}, "Hello", "locale from parse Accept-Language header";
$res = dancer_response('GET', '/', { headers => ['Accept-Language' => 'fr'] });
is $res->{content}, "Bonjour", "locale from parse Accept-Language header";

$res = dancer_response('GET', '/?locale=nl', { headers => ['Accept-Language' => 'fr'] });
is $res->{content}, "Hallo", "locale param takes precedence";

done_testing 5;