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
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
rendered_views() click to toggle source
# File lib/action_view/test_case.rb, line 119
def rendered_views
  @_rendered_views ||= RenderedViewsCollection.new
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 253
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 239
def _user_defined_ivars
  instance_variables - INTERNAL_IVARS
end
_view()
Alias for: view
make_test_case_available_to_view!() click to toggle source
# 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
method_missing(selector, *args) click to toggle source
Calls superclass method
# 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
protect_against_forgery?() click to toggle source
# File lib/action_view/test_case.rb, line 164
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 157
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 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
view() click to toggle source

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
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 247
def view_assigns
  Hash[_user_defined_ivars.map do |ivar|
    [ivar[1..-1].to_sym, instance_variable_get(ivar)]
  end]
end