diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2005-03-26 21:43:25 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2005-03-26 21:43:25 +0000 |
commit | 9fb6a54a164e7a1b64cf36efcba657c4215858b8 (patch) | |
tree | 7eefb985a625d09942ad73143fe1374dbe3392fc | |
parent | f569a14318e25005dfe27a51b3950c426581f18f (diff) | |
download | rails-9fb6a54a164e7a1b64cf36efcba657c4215858b8.tar.gz rails-9fb6a54a164e7a1b64cf36efcba657c4215858b8.tar.bz2 rails-9fb6a54a164e7a1b64cf36efcba657c4215858b8.zip |
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
-rw-r--r-- | actionpack/CHANGELOG | 2 | ||||
-rw-r--r-- | actionpack/lib/action_controller/test_process.rb | 3 | ||||
-rw-r--r-- | actionpack/test/controller/test_test.rb | 25 |
3 files changed, 29 insertions, 1 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index 2aec574270..509c764f27 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *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] diff --git a/actionpack/lib/action_controller/test_process.rb b/actionpack/lib/action_controller/test_process.rb index 3d9a335eff..6a7fe64a32 100644 --- a/actionpack/lib/action_controller/test_process.rb +++ b/actionpack/lib/action_controller/test_process.rb @@ -251,12 +251,13 @@ module Test 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 diff --git a/actionpack/test/controller/test_test.rb b/actionpack/test/controller/test_test.rb new file mode 100644 index 0000000000..28d64c6043 --- /dev/null +++ b/actionpack/test/controller/test_test.rb @@ -0,0 +1,25 @@ +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 |