This file documents the revision history for Perl extension Catalyst.
+ - Support optional hashref as last param for parameters in uri_for.
+
5.64 2006-02-07 20:29:00
- Fixed bug in FastCGI proc manager mode where pm_post_dispatch
was not run. (Eric Wong)
$namespace = '' if $path =~ /^\//;
$path =~ s/^\///;
+ my $params = (scalar @args && ref $args[$#args] eq 'HASH' ? pop @args : {});
+
# join args with '/', or a blank string
my $args = ( scalar @args ? '/' . join( '/', @args ) : '' );
$args =~ s/^\/// unless $path;
my $res =
URI->new_abs( URI->new_abs( "$path$args", "$basepath$namespace" ), $base )
->canonical;
+ $res->query_form(%$params);
$res;
}
use strict;
use warnings;
-use Test::More tests => 7;
+use Test::More tests => 8;
use Test::MockObject;
use URI;
is( Catalyst::uri_for( $context, '../quux' )->as_string,
'http://127.0.0.1/foo/quux', 'URI for relative dot path' );
+is(
+ Catalyst::uri_for( $context, 'quux', { param1 => 'value1' } )->as_string,
+ 'http://127.0.0.1/foo/yada/quux?param1=value1',
+ 'URI for undef action with query params'
+);
+
$request->mock( 'base', sub { URI->new('http://localhost:3000/') } );
$request->mock( 'match', sub { 'orderentry/contract' } );
is(