module ActionView::TestCase::Behavior - actionview-4.2.4 Documentation

# 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 114
    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 118
    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 124
    def rendered_views
      @_rendered_views ||= RenderedViewsCollection.new
    end

setup_with_controller() click to toggle source

    # File lib/action_view/test_case.rb, line 102
    def setup_with_controller
      @controller = ActionView::TestCase::TestController.new
      @request = @controller.request
      # empty string ensures buffer has UTF-8 encoding as
      # new without arguments returns ASCII-8BIT encoded buffer like String#new
      @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 262
    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 248
    def _user_defined_ivars
      instance_variables - INTERNAL_IVARS
    end

_view()
Alias for: view
document_root_element() click to toggle source

Need to experiment if this priority is the best one: rendered => #output_buffer

    # File lib/action_view/test_case.rb, line 161
    def document_root_element
      Nokogiri::HTML::Document.parse(@rendered.blank? ? @output_buffer : @rendered).root
    end

make_test_case_available_to_view!() click to toggle source

    # File lib/action_view/test_case.rb, line 174
    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 266
    def method_missing(selector, *args)
      if @controller.respond_to?(:_routes) &&
        ( @controller._routes.named_routes.route_defined?(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 168
    def protect_against_forgery?
      false
    end

say_no_to_protect_against_forgery!() click to toggle source

    # File lib/action_view/test_case.rb, line 165
    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 204
    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 256
    def view_assigns
      Hash[_user_defined_ivars.map do |ivar|
        [ivar[1..-1].to_sym, instance_variable_get(ivar)]
      end]
    end