aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2004-12-08 10:43:24 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2004-12-08 10:43:24 +0000
commitc8d68dfed3c83f3b5c32dc58d797254b219744b9 (patch)
treee2ba01dbe728670d8879802c6732e8d68d8c481d
parent4e1eaa289b8e410277a8dfb9a0c5139cafcbb23e (diff)
downloadrails-c8d68dfed3c83f3b5c32dc58d797254b219744b9.tar.gz
rails-c8d68dfed3c83f3b5c32dc58d797254b219744b9.tar.bz2
rails-c8d68dfed3c83f3b5c32dc58d797254b219744b9.zip
Killed the out of place alias and made sure you can use the different HTTP methods within the same testaction
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@80 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rw-r--r--actionpack/lib/action_controller/test_process.rb11
-rw-r--r--actionpack/test/controller/action_pack_assertions_test.rb12
2 files changed, 17 insertions, 6 deletions
diff --git a/actionpack/lib/action_controller/test_process.rb b/actionpack/lib/action_controller/test_process.rb
index 41fc2f209b..314f087f6f 100644
--- a/actionpack/lib/action_controller/test_process.rb
+++ b/actionpack/lib/action_controller/test_process.rb
@@ -190,7 +190,7 @@ end
class Test::Unit::TestCase #:nodoc:
private
# execute the request and set/volley the response
- def get(action, parameters = nil, session = nil)
+ def process(action, parameters = nil, session = nil)
@request.env['REQUEST_METHOD'] ||= "GET"
@request.action = action.to_s
@request.parameters.update(parameters) unless parameters.nil?
@@ -199,14 +199,13 @@ class Test::Unit::TestCase #:nodoc:
end
# execute the request simulating a specific http method and set/volley the response
- %w( post put delete head ).each do |method|
+ %w( get post put delete head ).each do |method|
class_eval <<-EOV
def #{method}(action, parameters = nil, session = nil)
- @request.env['REQUEST_METHOD'] ||= "#{method.upcase}"
- get(action, parameters, session)
+ @request.env['REQUEST_METHOD'] = "#{method.upcase}"
+ process(action, parameters, session)
end
-EOV
+ EOV
end
- alias :process :get
end \ No newline at end of file
diff --git a/actionpack/test/controller/action_pack_assertions_test.rb b/actionpack/test/controller/action_pack_assertions_test.rb
index 489373d5c3..1389e02e0e 100644
--- a/actionpack/test/controller/action_pack_assertions_test.rb
+++ b/actionpack/test/controller/action_pack_assertions_test.rb
@@ -111,6 +111,18 @@ class ActionPackAssertionsControllerTest < Test::Unit::TestCase
post :raise_on_get
assert_equal @response.body, 'request method: POST'
end
+
+ # test the get/post switch within one test action
+ def test_get_post_switch
+ post :raise_on_get
+ assert_equal @response.body, 'request method: POST'
+ get :raise_on_post
+ assert_equal @response.body, 'request method: GET'
+ post :raise_on_get
+ assert_equal @response.body, 'request method: POST'
+ get :raise_on_post
+ assert_equal @response.body, 'request method: GET'
+ end
# test the assertion of goodies in the template
def test_assert_template_has