Skip to content

assigns(:foo) should not convert @foo's keys to strings if it happens to be a hash #5082

Merged
merged 1 commit into from Feb 20, 2012
View
3 actionpack/lib/action_dispatch/testing/test_process.rb
@@ -5,7 +5,8 @@
module ActionDispatch
module TestProcess
def assigns(key = nil)
- assigns = @controller.view_assigns.with_indifferent_access
+ assigns = {}.with_indifferent_access
+ @controller.view_assigns.each {|k, v| assigns.regular_writer(k, v)}
key.nil? ? assigns : assigns[key]
end
View
5 actionpack/test/controller/test_case_test.rb
@@ -119,6 +119,7 @@ def delete_cookie
def test_assigns
@foo = "foo"
+ @foo_hash = {:foo => :bar}
render :nothing => true
end
@@ -292,6 +293,10 @@ def test_assigns
assert_equal "foo", assigns("foo")
assert_equal "foo", assigns[:foo]
assert_equal "foo", assigns["foo"]
+
+ # but the assigned variable should not have its own keys stringified
+ expected_hash = { :foo => :bar }
+ assert_equal expected_hash, assigns(:foo_hash)
end
def test_view_assigns
Something went wrong with that request. Please try again.