# File lib/action_controller/test_case.rb, line 372 def controller_class if current_controller_class = self._controller_class current_controller_class else self.controller_class = determine_default_controller_class(name) end end
# File lib/action_controller/test_case.rb, line 367 def controller_class=(new_class) prepare_controller_class(new_class) if new_class self._controller_class = new_class end
# File lib/action_controller/test_case.rb, line 380 def determine_default_controller_class(name) name.sub(%rTest$/, '').safe_constantize end
# File lib/action_controller/test_case.rb, line 384 def prepare_controller_class(new_class) new_class.send :include, ActionController::TestCase::RaiseActionExceptions end
Sets the controller class name. Useful if the name can’t be inferred from
test class. Normalizes controller_class
before using.
Examples:
tests WidgetController tests :widget tests 'widget'
# File lib/action_controller/test_case.rb, line 356 def tests(controller_class) case controller_class when String, Symbol self.controller_class = "#{controller_class.to_s.underscore}_controller".camelize.constantize when Class self.controller_class = controller_class else raise ArgumentError, "controller class must be a String, Symbol, or Class" end end