Added fourth option to process in test cases to specify the content of the flash #949 [Jamis Buck]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1009 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
上级 f569a143
*SVN*
* Added fourth option to process in test cases to specify the content of the flash #949 [Jamis Buck]
* Added Verifications that allows you to specify preconditions to actions in form of statements like <tt>verify :only => :update_post, :params => "admin_privileges", :redirect_to => { :action => "settings" }</tt>, which ensure that the update_post action is only called if admin_privileges is available as a parameter -- otherwise the user is redirected to settings. #897 [Jamis Buck]
* Fixed Form.Serialize for the JavascriptHelper to also seriliaze password fields #934 [dweitzman@gmail.com]
......
......@@ -251,12 +251,13 @@ module Unit
class TestCase #:nodoc:
private
# execute the request and set/volley the response
def process(action, parameters = nil, session = nil)
def process(action, parameters = nil, session = nil, flash = nil)
@request.env['REQUEST_METHOD'] ||= "GET"
@request.action = action.to_s
@request.path_parameters = { :controller => @controller.class.controller_path }
@request.parameters.update(parameters) unless parameters.nil?
@request.session = ActionController::TestSession.new(session) unless session.nil?
@request.session["flash"] = ActionController::Flash::FlashHash.new.update(flash) if flash
@controller.process(@request, @response)
end
......
require File.dirname(__FILE__) + '/../abstract_unit'
class TestTest < Test::Unit::TestCase
class TestController < ActionController::Base
def set_flash
flash["test"] = ">#{flash["test"]}<"
end
end
def setup
@controller = TestController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
end
def test_process_without_flash
process :set_flash
assert_flash_equal "><", "test"
end
def test_process_with_flash
process :set_flash, nil, nil, { "test" => "value" }
assert_flash_equal ">value<", "test"
end
end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册