diff options
author | Santiago Pastorino <santiago@wyeworks.com> | 2010-11-06 21:00:26 -0200 |
---|---|---|
committer | Santiago Pastorino <santiago@wyeworks.com> | 2010-11-06 21:15:03 -0200 |
commit | 2382667955df08599cb5df7bf3ef135817093d74 (patch) | |
tree | 51dd2cb4ea08c089e8e9dd1ad3fd45b36771ad8c | |
parent | c11102d4f80267e3774985329ea93e7368e8684f (diff) | |
download | rails-2382667955df08599cb5df7bf3ef135817093d74.tar.gz rails-2382667955df08599cb5df7bf3ef135817093d74.tar.bz2 rails-2382667955df08599cb5df7bf3ef135817093d74.zip |
Fix problems trying to functional test AC::Metal controllers
[#5393 state:committed]
-rw-r--r-- | actionpack/lib/action_controller/metal/testing.rb | 10 | ||||
-rw-r--r-- | actionpack/lib/action_controller/test_case.rb | 4 | ||||
-rw-r--r-- | actionpack/test/controller/new_base/bare_metal_test.rb | 7 |
3 files changed, 10 insertions, 11 deletions
diff --git a/actionpack/lib/action_controller/metal/testing.rb b/actionpack/lib/action_controller/metal/testing.rb index 4b8c452d50..01fd55e1dd 100644 --- a/actionpack/lib/action_controller/metal/testing.rb +++ b/actionpack/lib/action_controller/metal/testing.rb @@ -14,18 +14,10 @@ module ActionController cookies.write(@_response) end @_response.prepare! - set_test_assigns + @assigns = respond_to?(:view_assigns) ? view_assigns : {} ret end - def set_test_assigns - @assigns = {} - (instance_variable_names - self.class.protected_instance_variables).each do |var| - name, value = var[1..-1], instance_variable_get(var) - @assigns[name] = value - end - end - # TODO : Rewrite tests using controller.headers= to use Rack env def headers=(new_headers) @_response ||= ActionDispatch::Response.new diff --git a/actionpack/lib/action_controller/test_case.rb b/actionpack/lib/action_controller/test_case.rb index 0c26071379..cc27233049 100644 --- a/actionpack/lib/action_controller/test_case.rb +++ b/actionpack/lib/action_controller/test_case.rb @@ -411,7 +411,7 @@ module ActionController @controller.request = @request @controller.params.merge!(parameters) build_request_uri(action, parameters) - Base.class_eval { include Testing } + @controller.class.class_eval { include Testing } @controller.process_with_new_base_test(@request, @response) @request.session.delete('flash') if @request.session['flash'].blank? @response @@ -448,7 +448,7 @@ module ActionController def build_request_uri(action, parameters) unless @request.env["PATH_INFO"] - options = @controller.__send__(:url_options).merge(parameters) + options = @controller.respond_to?(:url_options) ? @controller.__send__(:url_options).merge(parameters) : parameters options.update( :only_path => true, :action => action, diff --git a/actionpack/test/controller/new_base/bare_metal_test.rb b/actionpack/test/controller/new_base/bare_metal_test.rb index 44922cecff..543c02b2c5 100644 --- a/actionpack/test/controller/new_base/bare_metal_test.rb +++ b/actionpack/test/controller/new_base/bare_metal_test.rb @@ -39,4 +39,11 @@ module BareMetalTest assert_equal 404, status end end + + class BareControllerTest < ActionController::TestCase + test "GET index" do + get :index + assert_equal "Hello world", @response.body + end + end end |