diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2013-10-23 15:01:04 -0700 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2013-10-23 15:01:04 -0700 |
commit | 783527fd877c491cf5f2f563ee42d5bc19e1b78b (patch) | |
tree | f3eb566a75ba4422aba91677b487a6e75143ef4b | |
parent | 2fd0c7ac30d81976d48dc691de7b7f4d23bd906a (diff) | |
parent | cb81a535e0ea7de890a7d65982364c4e7c6ba254 (diff) | |
download | rails-783527fd877c491cf5f2f563ee42d5bc19e1b78b.tar.gz rails-783527fd877c491cf5f2f563ee42d5bc19e1b78b.tar.bz2 rails-783527fd877c491cf5f2f563ee42d5bc19e1b78b.zip |
Merge pull request #12619 from Veraticus/fix_utils_normalize_path
Correct error in Utils.normalize_path that changed paths improperly
-rw-r--r-- | actionpack/lib/action_dispatch/journey/router/utils.rb | 2 | ||||
-rw-r--r-- | actionpack/test/journey/router/utils_test.rb | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/actionpack/lib/action_dispatch/journey/router/utils.rb b/actionpack/lib/action_dispatch/journey/router/utils.rb index 1edf86cd88..d1a004af50 100644 --- a/actionpack/lib/action_dispatch/journey/router/utils.rb +++ b/actionpack/lib/action_dispatch/journey/router/utils.rb @@ -18,7 +18,7 @@ module ActionDispatch path = "/#{path}" path.squeeze!('/') path.sub!(%r{/+\Z}, '') - path.gsub!(/(%[a-f0-9]{2}+)/) { $1.upcase } + path.gsub!(/(%[a-f0-9]{2})/) { $1.upcase } path = '/' if path == '' path end diff --git a/actionpack/test/journey/router/utils_test.rb b/actionpack/test/journey/router/utils_test.rb index 057dc40cca..93348f4647 100644 --- a/actionpack/test/journey/router/utils_test.rb +++ b/actionpack/test/journey/router/utils_test.rb @@ -15,6 +15,14 @@ module ActionDispatch def test_uri_unescape assert_equal "a/b c+d", Utils.unescape_uri("a%2Fb%20c+d") end + + def test_normalize_path_not_greedy + assert_equal "/foo%20bar%20baz", Utils.normalize_path("/foo%20bar%20baz") + end + + def test_normalize_path_uppercase + assert_equal "/foo%AAbar%AAbaz", Utils.normalize_path("/foo%aabar%aabaz") + end end end end |