1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Fix problems trying to functional test AC::Metal controllers

[#5393 state:committed]
This commit is contained in:
Santiago Pastorino 2010-11-06 21:00:26 -02:00
parent c11102d4f8
commit 2382667955
3 changed files with 10 additions and 11 deletions

View file

@ -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

View file

@ -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,

View file

@ -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