my $fragment = ((scalar(@args) && ref($args[-1]) eq 'SCALAR') ? pop @args : undef );
unless(blessed $path) {
- if ($path and $path =~ s/#(.+)$//) {
+ if (defined($path) and $path =~ s/#(.+)$//) {
if(defined($1) and $fragment) {
carp "Abiguious fragment declaration: You cannot define a fragment in '$path' and as an argument '$fragment'";
}
);
is(
+ Catalyst::uri_for( $context, '0#fragment', { param1 => 'value1' } )->as_string,
+ 'http://127.0.0.1/foo/yada/0?param1=value1#fragment',
+ 'URI for path 0 with fragment and query params 1'
+);
+
+is(
Catalyst::uri_for( $context, '/bar#fragment^%$', { param1 => 'value1' } )->as_string,
'http://127.0.0.1/foo/bar?param1=value1#fragment^%$',
'URI for path with fragment and query params 3'
'http://127.0.0.1/foo/yada',
'URI with no action'
);
+
+ is(
+ Catalyst::uri_for( $context, 0 )->as_string,
+ 'http://127.0.0.1/foo/yada/0',
+ 'URI with 0 path'
+ );
+
is_deeply(\@warnings, [], "No warnings with no path argument");
}