diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-11-19 21:44:04 -0200 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-11-19 21:44:04 -0200 |
commit | 03ef833b804fe17ff834ac957a300d45bbb24fab (patch) | |
tree | aab5c1f759ebc4f94025d42911223f697e6d327e /actionpack/test | |
parent | bba8fc4294ca7f7d90c3e64e7fea059b17caef5c (diff) | |
parent | ce60672342f8da447d24d25f8c0f2049fc81c0c8 (diff) | |
download | rails-03ef833b804fe17ff834ac957a300d45bbb24fab.tar.gz rails-03ef833b804fe17ff834ac957a300d45bbb24fab.tar.bz2 rails-03ef833b804fe17ff834ac957a300d45bbb24fab.zip |
Merge branch 'url-for-params'
Fix error when using a non-hash query argument named "params" in `url_for`.
Before:
url_for(params: "") # => undefined method `reject!' for "":String
After:
url_for(params: "") # => http://www.example.com?params=`
Closes #8233
Diffstat (limited to 'actionpack/test')
-rw-r--r-- | actionpack/test/dispatch/request_test.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/actionpack/test/dispatch/request_test.rb b/actionpack/test/dispatch/request_test.rb index 2bc145c1cc..f2bacf3e20 100644 --- a/actionpack/test/dispatch/request_test.rb +++ b/actionpack/test/dispatch/request_test.rb @@ -3,7 +3,7 @@ require 'abstract_unit' class RequestTest < ActiveSupport::TestCase def url_for(options = {}) - options.reverse_merge!(:host => 'www.example.com') + options = { host: 'www.example.com' }.merge!(options) ActionDispatch::Http::URL.url_for(options) end @@ -25,6 +25,8 @@ class RequestTest < ActiveSupport::TestCase assert_equal 'http://www.example.com/', url_for(:trailing_slash => true) assert_equal 'http://dhh:supersecret@www.example.com', url_for(:user => 'dhh', :password => 'supersecret') assert_equal 'http://www.example.com?search=books', url_for(:params => { :search => 'books' }) + assert_equal 'http://www.example.com?params=', url_for(:params => '') + assert_equal 'http://www.example.com?params=1', url_for(:params => 1) end test "remote ip" do |