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* *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] * 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] * 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) ...@@ -63,10 +63,19 @@ def assert_session_equal(expected = nil, key = nil, message = nil)
# -- cookie assertions --------------------------------------------------- # -- 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) def assert_cookie_equal(expected = nil, key = nil, message = nil)
response = acquire_assertion_target response = acquire_assertion_target
msg = build_message(message, "<?> expected in cookies['?'] but was <?>", expected, key, response.cookies[key.to_s].first) actual = response.cookies[key]
assert_block(msg) { expected == response.cookies[key.to_s].first } actual = actual.first if actual
msg = build_message(message, "<?> expected in cookies['?'] but was <?>", expected, key, actual)
assert_block(msg) { expected == actual }
end end
# -- flash assertions --------------------------------------------------- # -- flash assertions ---------------------------------------------------
......
...@@ -28,6 +28,11 @@ def set_multiple_cookies ...@@ -28,6 +28,11 @@ def set_multiple_cookies
render_text "hello world" render_text "hello world"
end end
def access_frozen_cookies
@cookies["will"] = "work"
render_text "hello world"
end
def rescue_action(e) raise end def rescue_action(e) raise end
end end
...@@ -63,8 +68,13 @@ def test_multiple_cookies ...@@ -63,8 +68,13 @@ def test_multiple_cookies
assert_equal 2, process_request.headers["cookie"].size assert_equal 2, process_request.headers["cookie"].size
end end
def test_setting_test_cookie
@request.action = "access_frozen_cookies"
assert_nothing_raised { process_request }
end
private private
def process_request def process_request
TestController.process(@request, @response) TestController.process(@request, @response)
end end
end end
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册