Added assert_no_cookie and fixed assert_cookie_equal to deal with non-existing...

Added assert_no_cookie and fixed assert_cookie_equal to deal with non-existing cookies #979 [bitsweat]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1065 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
上级 1ba17797
*SVN*
* Added assert_no_cookie and fixed assert_cookie_equal to deal with non-existing cookies #979 [bitsweat]
* Fixed :overwrite_param so it doesn't delete but reject elements from @request.parameters #982 [raphinou@yahoo.com]
* Added :method option to verify for ensuring that either GET, POST, etc is allowed #984 [Jamis Buck]
......
......@@ -63,10 +63,19 @@ def assert_session_equal(expected = nil, key = nil, message = nil)
# -- cookie assertions ---------------------------------------------------
def assert_no_cookie(key = nil, message = nil)
response = acquire_assertion_target
actual = response.cookies[key]
msg = build_message(message, "<?> not expected in cookies['?']", actual, key)
assert_block(msg) { actual.nil? or actual.empty? }
end
def assert_cookie_equal(expected = nil, key = nil, message = nil)
response = acquire_assertion_target
msg = build_message(message, "<?> expected in cookies['?'] but was <?>", expected, key, response.cookies[key.to_s].first)
assert_block(msg) { expected == response.cookies[key.to_s].first }
actual = response.cookies[key]
actual = actual.first if actual
msg = build_message(message, "<?> expected in cookies['?'] but was <?>", expected, key, actual)
assert_block(msg) { expected == actual }
end
# -- flash assertions ---------------------------------------------------
......
......@@ -28,6 +28,11 @@ def set_multiple_cookies
render_text "hello world"
end
def access_frozen_cookies
@cookies["will"] = "work"
render_text "hello world"
end
def rescue_action(e) raise end
end
......@@ -63,6 +68,11 @@ def test_multiple_cookies
assert_equal 2, process_request.headers["cookie"].size
end
def test_setting_test_cookie
@request.action = "access_frozen_cookies"
assert_nothing_raised { process_request }
end
private
def process_request
TestController.process(@request, @response)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册