Tests, fix args as well as captureargs and be less violent - only encode /
[catagits/Catalyst-Runtime.git] / lib / Catalyst.pm
index 9c342e8..8d5113e 100644 (file)
@@ -1247,7 +1247,7 @@ sub uri_for {
     }
 
     if ( blessed($path) ) { # action object
-        my $captures = [ map { URI::Escape::uri_escape($_) }
+        my $captures = [ map { s|/|%2F|; $_; }
                         ( scalar @args && ref $args[0] eq 'ARRAY'
                          ? @{ shift(@args) }
                          : ()) ];
@@ -1268,6 +1268,7 @@ sub uri_for {
 
     carp "uri_for called with undef argument" if grep { ! defined $_ } @args;
     s/([^$URI::uric])/$URI::Escape::escapes{$1}/go for @args;
+    s|/|%2F| for @args;
 
     unshift(@args, $path);