X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=t%2Faggregate%2Funit_core_uri_for_multibytechar.t;h=f6d4f7cbd8ed7fb9fce0e57ac3ad857c34dbcf40;hp=3320491974313f1f78e78e033fba3ad2a3a3a621;hb=10542b5178b2fa036e0658111523ea68a7a04437;hpb=ae29b412955743885e80350085167b54b69672da diff --git a/t/aggregate/unit_core_uri_for_multibytechar.t b/t/aggregate/unit_core_uri_for_multibytechar.t index 3320491..f6d4f7c 100644 --- a/t/aggregate/unit_core_uri_for_multibytechar.t +++ b/t/aggregate/unit_core_uri_for_multibytechar.t @@ -1,16 +1,17 @@ +use utf8; use strict; use warnings; - use FindBin; use lib "$FindBin::Bin/../lib"; -use Test::More tests => 5; +use Test::More; use_ok('TestApp'); my $base = 'http://127.0.0.1'; my $request = Catalyst::Request->new({ + _log => Catalyst::Log->new, base => URI->new($base), uri => URI->new("$base/"), }); @@ -33,3 +34,22 @@ is($context->req->uri_with({ name => '村瀬大輔' }), $uri_with_multibyte, 'ur # multibyte with utf8 string is($context->uri_for('/', { name => "\x{6751}\x{702c}\x{5927}\x{8f14}" }), $uri_with_multibyte, 'uri_for with utf8 string query'); is($context->req->uri_with({ name => "\x{6751}\x{702c}\x{5927}\x{8f14}" }), $uri_with_multibyte, 'uri_with with utf8 string query'); + +# multibyte captures and args +my $action = $context->controller('Action::Chained') + ->action_for('roundtrip_urifor_end'); + +is($context->uri_for($action, ['hütte'], 'hütte', { + test => 'hütte' +}), +'http://127.0.0.1/chained/roundtrip_urifor/h%C3%BCtte/h%C3%BCtte?test=h%C3%BCtte', +'uri_for with utf8 captures and args'); + +is( + $context->uri_for($action, ['♥'], '♥', { '♥' => '♥'}), + 'http://127.0.0.1/chained/roundtrip_urifor/' . '%E2%99%A5' . '/' . '%E2%99%A5' . '?' . '%E2%99%A5' . '=' . '%E2%99%A5', + 'uri_for with utf8 captures and args'); + +# ^ the match string is purposefully broken up to aid viewing, please to 'fix' it. + +done_testing;