aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/dispatch/routing_test.rb
diff options
context:
space:
mode:
authorAndrew Kaspick <andrew@redlinesoftware.com>2011-08-11 13:28:31 -0500
committerAndrew Kaspick <andrew@redlinesoftware.com>2011-08-11 13:28:31 -0500
commit61579b76616d06ccb8268411421c23fb612e5113 (patch)
tree3d23300d0335dea7cdde74277f47d902158623b6 /actionpack/test/dispatch/routing_test.rb
parente6fdfd0f6f80d47c97152826322ea8b01519b5c2 (diff)
downloadrails-61579b76616d06ccb8268411421c23fb612e5113.tar.gz
rails-61579b76616d06ccb8268411421c23fb612e5113.tar.bz2
rails-61579b76616d06ccb8268411421c23fb612e5113.zip
when calling url_for with a hash, additional (likely unwanted) values (such as :host) would be returned in the hash... calling #dup on the hash prevents this
Diffstat (limited to 'actionpack/test/dispatch/routing_test.rb')
-rw-r--r--actionpack/test/dispatch/routing_test.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/actionpack/test/dispatch/routing_test.rb b/actionpack/test/dispatch/routing_test.rb
index 1938348375..9685b24c1c 100644
--- a/actionpack/test/dispatch/routing_test.rb
+++ b/actionpack/test/dispatch/routing_test.rb
@@ -851,6 +851,18 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest
end
end
+ # tests the use of dup in url_for
+ def test_url_for_with_no_side_effects
+ # without dup, additional (and possibly unwanted) values will be present in the options (eg. :host)
+ original_options = {:controller => 'projects', :action => 'status'}
+ options = original_options.dup
+
+ url_for options
+
+ # verify that the options passed in have not changed from the original ones
+ assert_equal original_options, options
+ end
+
def test_projects_status
with_test_routes do
assert_equal '/projects/status', url_for(:controller => 'projects', :action => 'status', :only_path => true)