mirror of
https://github.com/github/rails.git
synced 2026-01-30 08:48:06 -05:00
Ensure that test case setup is run even if overridden. Closes #10382.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8497 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
*SVN*
|
||||
|
||||
* Ensure that test case setup is run even if overridden. #10382 [Josh Peek]
|
||||
|
||||
* Fix HTML Sanitizer to allow trailing spaces in CSS style attributes. Closes #10566 [wesley.moxam]
|
||||
|
||||
* Add :default option to time_zone_select. #10590 [Matt Aimonetti]
|
||||
|
||||
@@ -44,10 +44,23 @@ module ActionController
|
||||
end
|
||||
end
|
||||
|
||||
def setup
|
||||
def setup_with_controller
|
||||
@controller = self.class.controller_class.new
|
||||
@request = TestRequest.new
|
||||
@response = TestResponse.new
|
||||
end
|
||||
end
|
||||
end
|
||||
alias_method :setup, :setup_with_controller
|
||||
|
||||
def self.method_added(method)
|
||||
if method.to_s == 'setup'
|
||||
unless method_defined?(:setup_without_controller)
|
||||
alias_method :setup_without_controller, :setup
|
||||
define_method(:setup) do
|
||||
setup_with_controller
|
||||
setup_without_controller
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -614,10 +614,19 @@ class InferringClassNameTest < Test::Unit::TestCase
|
||||
end
|
||||
end
|
||||
|
||||
class ContentControllerTest < ActionController::TestCase
|
||||
def setup
|
||||
# Should not override ActionController setup methods
|
||||
end
|
||||
|
||||
def test_should_still_setup_controller
|
||||
assert_kind_of(ContentController, @controller)
|
||||
end
|
||||
end
|
||||
|
||||
class CrazyNameTest < ActionController::TestCase
|
||||
tests ContentController
|
||||
def test_controller_class_can_be_set_manually_not_just_inferred
|
||||
assert_equal ContentController, self.class.controller_class
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user