Class: ActionView::TestCase

Inherits:
ActiveSupport::TestCase
  • Object
show all
Includes:
ActionController::PolymorphicRoutes, ActionController::RecordIdentifier
Defined in:
lib/action_view/test_case.rb

Defined Under Namespace

Classes: TestController

Constant Summary collapse

@@helper_class =
nil

Constants included from ActionController::RecordIdentifier

ActionController::RecordIdentifier::JOIN, ActionController::RecordIdentifier::NEW

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ActionController::RecordIdentifier

#dom_class, #dom_id, #partial_path, #plural_class_name, #singular_class_name

Methods included from ActionController::PolymorphicRoutes

#polymorphic_path, #polymorphic_url

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(selector, *args) ⇒ Object (private)



52
53
54
55
56
# File 'lib/action_view/test_case.rb', line 52

def method_missing(selector, *args)
  controller = TestController.new
  return controller.send!(selector, *args) if ActionController::Routing::Routes.named_routes.helpers.include?(selector)
  super
end

Class Method Details

.determine_default_helper_class(name) ⇒ Object



21
22
23
24
25
# File 'lib/action_view/test_case.rb', line 21

def determine_default_helper_class(name)
  name.sub(/Test$/, '').constantize
rescue NameError
  nil
end

.helper_classObject



13
14
15
16
17
18
19
# File 'lib/action_view/test_case.rb', line 13

def helper_class
  if current_helper_class = read_inheritable_attribute(:helper_class)
    current_helper_class
  else
    self.helper_class = determine_default_helper_class(name)
  end
end

.tests(helper_class) ⇒ Object



9
10
11
# File 'lib/action_view/test_case.rb', line 9

def tests(helper_class)
  self.helper_class = helper_class
end

Instance Method Details

#setup_with_helper_classObject



36
37
38
39
40
# File 'lib/action_view/test_case.rb', line 36

def setup_with_helper_class
  if helper_class && !self.class.ancestors.include?(helper_class)
    self.class.send(:include, helper_class)
  end
end