# File lib/action_view/test_case.rb, line 109 def config @controller.config if @controller.respond_to?(:config) end
# File lib/action_view/test_case.rb, line 113 def render(options = {}, local_assigns = {}, &block) view.assign(view_assigns) @rendered << output = view.render(options, local_assigns, &block) output end
# File lib/action_view/test_case.rb, line 119 def rendered_views @_rendered_views ||= RenderedViewsCollection.new end
# File lib/action_view/test_case.rb, line 99 def setup_with_controller @controller = ActionView::TestCase::TestController.new @request = @controller.request @output_buffer = ActiveSupport::SafeBuffer.new @rendered = '' make_test_case_available_to_view! say_no_to_protect_against_forgery! end
# File lib/action_view/test_case.rb, line 253 def _routes @controller._routes if @controller.respond_to?(:_routes) end
# File lib/action_view/test_case.rb, line 239 def _user_defined_ivars instance_variables - INTERNAL_IVARS end
# File lib/action_view/test_case.rb, line 170 def make_test_case_available_to_view! test_case_instance = self _helpers.module_eval do unless private_method_defined?(:_test_case) define_method(:_test_case) { test_case_instance } private :_test_case end end end
# File lib/action_view/test_case.rb, line 257 def method_missing(selector, *args) if @controller.respond_to?(:_routes) && ( @controller._routes.named_routes.helpers.include?(selector) || @controller._routes.mounted_helpers.method_defined?(selector) ) @controller.__send__(selector, *args) else super end end
# File lib/action_view/test_case.rb, line 164 def protect_against_forgery? false end
Support the selector assertions
Need to experiment if this priority is the best one: rendered => #output_buffer
# File lib/action_view/test_case.rb, line 157 def response_from_page HTML::Document.new(@rendered.blank? ? @output_buffer : @rendered).root end
# File lib/action_view/test_case.rb, line 161 def say_no_to_protect_against_forgery! _helpers.module_eval do remove_possible_method :protect_against_forgery? def protect_against_forgery? false end end end
The instance of ActionView::Base that is used by
render
.
# File lib/action_view/test_case.rb, line 200 def view @view ||= begin view = @controller.view_context view.singleton_class.send :include, _helpers view.extend(Locals) view.rendered_views = self.rendered_views view.output_buffer = self.output_buffer view end end
Returns a Hash of instance variables and their values, as defined by the user in the test case, which are then assigned to the view being rendered. This is generally intended for internal use and extension frameworks.
# File lib/action_view/test_case.rb, line 247 def view_assigns Hash[_user_defined_ivars.map do |ivar| [ivar[1..-1].to_sym, instance_variable_get(ivar)] end] end