Ado
view release on metacpan or search on metacpan
t/plugin/i18n-02.t view on Meta::CPAN
#t/plugin/i18n-02.t
use Mojo::Base -strict;
use Test::More;
use Test::Mojo;
use List::Util qw(first);
my $t = Test::Mojo->new('Ado');
my $app = $t->app;
#warn $app->dumper(\%ENV);
#$config->{language_from_cookie}
$t->get_ok('/', {Cookie => Mojo::Cookie::Request->new(name => language => value => 'bg')})
->status_is(200)->text_is(
'#login_form label[for="login_name"]',
'ÐоÑÑебиÑел',
'/ Cookie: language=bg content'
);
$t->get_ok('/test')
->content_like(qr'ÐдÑаÑÑи, Guest!', '/:controller Cookie: language=bg content');
my $jar = $t->ua->cookie_jar;
my $cookie = first { $_->name eq 'language' } @{$jar->all};
$cookie->value('en');
$t->get_ok('/test/l10n')
->content_like(qr'Hello Guest,', '/:controller/:action Cookie: language=en content');
#$cookie = first {$_->name eq 'language'} $jar->all;
#$cookie->value('bg');
$t->get_ok('/test/bgl10n')
->content_like(qr'ÐдÑаÑÑи, Guest!', 'language explicitly set in action');
$cookie = first { $_->name eq 'language' } @{$jar->all};
$cookie->value('is');
$t->get_ok('/')->status_is(200)
->text_is('#login_form label[for="login_name"]', 'User', '/:language - fallback content');
$t = Test::Mojo->new($app);
#$config->{language_from_headers}
$t->get_ok('/test/l10n', {'Accept-Language' => 'bg'})
->content_like(qr'ÐдÑаÑÑи, Guest!', '/:controller Accept-Language: bg content');
$t->get_ok('/test/l10n', {'Accept-Language' => 'en,fr;q=0.8,en-us;q=0.5,en;q=0.3'})
->content_like(qr'Hello Guest,', '/:controller/:action Accept-Language: en content');
=pod
=cut
done_testing;
( run in 0.769 second using v1.01-cache-2.11-cpan-39bf76dae61 )