aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAkira Matsuda <ronnie@dio.jp>2017-07-12 19:48:31 +0900
committerAkira Matsuda <ronnie@dio.jp>2017-07-12 19:48:31 +0900
commit03925dc26a747075ff37660d1f0a060a8178bf66 (patch)
tree8f7cdc99966bed299c6ad1de4377c620d5461a85
parente319b01de8d42e1c8dd511d882b988121c81604f (diff)
downloadrails-03925dc26a747075ff37660d1f0a060a8178bf66.tar.gz
rails-03925dc26a747075ff37660d1f0a060a8178bf66.tar.bz2
rails-03925dc26a747075ff37660d1f0a060a8178bf66.zip
normalize_path used to be nil tolerant
fixes a regression introduced at 8607c25ba7810573733d9b37d0015154ba059f5e
-rw-r--r--actionpack/lib/action_dispatch/journey/router/utils.rb1
-rw-r--r--actionpack/test/journey/router/utils_test.rb4
2 files changed, 5 insertions, 0 deletions
diff --git a/actionpack/lib/action_dispatch/journey/router/utils.rb b/actionpack/lib/action_dispatch/journey/router/utils.rb
index 1ac86d10d6..3336036a03 100644
--- a/actionpack/lib/action_dispatch/journey/router/utils.rb
+++ b/actionpack/lib/action_dispatch/journey/router/utils.rb
@@ -13,6 +13,7 @@ module ActionDispatch
# normalize_path("") # => "/"
# normalize_path("/%ab") # => "/%AB"
def self.normalize_path(path)
+ path ||= ''
encoding = path.encoding
path = "/#{path}".dup
path.squeeze!("/".freeze)
diff --git a/actionpack/test/journey/router/utils_test.rb b/actionpack/test/journey/router/utils_test.rb
index 08268782d9..646563f7ab 100644
--- a/actionpack/test/journey/router/utils_test.rb
+++ b/actionpack/test/journey/router/utils_test.rb
@@ -38,6 +38,10 @@ module ActionDispatch
path = "/foo%AAbar%AAbaz".b
assert_equal Encoding::ASCII_8BIT, Utils.normalize_path(path).encoding
end
+
+ def test_normalize_path_with_nil
+ assert_equal '/', Utils.normalize_path(nil)
+ end
end
end
end