module ActionView::TestCase::Behavior
Constants
- INTERNAL_IVARS
Attributes
controller[RW]
output_buffer[RW]
rendered[RW]
Public Instance Methods
config()
click to toggle source
# File lib/action_view/test_case.rb, line 109 def config @controller.config if @controller.respond_to?(:config) end
locals()
click to toggle source
# File lib/action_view/test_case.rb, line 119 def locals @locals ||= {} end
render(options = {}, local_assigns = {}, &block)
click to toggle source
# 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
setup_with_controller()
click to toggle source
# 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
Private Instance Methods
_routes()
click to toggle source
# File lib/action_view/test_case.rb, line 227 def _routes @controller._routes if @controller.respond_to?(:_routes) end
_user_defined_ivars()
click to toggle source
# File lib/action_view/test_case.rb, line 213 def _user_defined_ivars instance_variables.map(&:to_s) - INTERNAL_IVARS end
make_test_case_available_to_view!()
click to toggle source
# File lib/action_view/test_case.rb, line 145 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
method_missing(selector, *args)
click to toggle source
Calls superclass method
# File lib/action_view/test_case.rb, line 231 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
protect_against_forgery?()
click to toggle source
# File lib/action_view/test_case.rb, line 139 def protect_against_forgery? false end
response_from_page()
click to toggle source
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 132 def response_from_page HTML::Document.new(@rendered.blank? ? @output_buffer : @rendered).root end
say_no_to_protect_against_forgery!()
click to toggle source
# File lib/action_view/test_case.rb, line 136 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
view()
click to toggle source
The instance of ActionView::Base that is used by
render
.
# File lib/action_view/test_case.rb, line 175 def view @view ||= begin view = @controller.view_context view.singleton_class.send :include, _helpers view.extend(Locals) view.locals = self.locals view.output_buffer = self.output_buffer view end end
Also aliased as: _view
view_assigns()
click to toggle source
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 221 def view_assigns Hash[_user_defined_ivars.map do |var| [var[1, var.length].to_sym, instance_variable_get(var)] end] end