mirror of https://github.com/rails/rails
Fixed that you don't have to call super in ActionMailer::TestCase#setup (closes #10406) [jamesgolick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8536 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
64b4c18e15
commit
6a6367d7d2
|
@ -1,3 +1,8 @@
|
|||
*SVN*
|
||||
|
||||
* Fixed that you don't have to call super in ActionMailer::TestCase#setup #10406 [jamesgolick]
|
||||
|
||||
|
||||
*2.0.2* (December 16th, 2007)
|
||||
|
||||
* Included in Rails 2.0.2
|
||||
|
|
|
@ -33,7 +33,7 @@ module ActionMailer
|
|||
end
|
||||
end
|
||||
|
||||
def setup
|
||||
def setup_with_mailer
|
||||
ActionMailer::Base.delivery_method = :test
|
||||
ActionMailer::Base.perform_deliveries = true
|
||||
ActionMailer::Base.deliveries = []
|
||||
|
@ -42,6 +42,19 @@ module ActionMailer
|
|||
@expected.set_content_type "text", "plain", { "charset" => charset }
|
||||
@expected.mime_version = '1.0'
|
||||
end
|
||||
alias_method :setup, :setup_with_mailer
|
||||
|
||||
def self.method_added(method)
|
||||
if method.to_s == 'setup'
|
||||
unless method_defined?(:setup_without_mailer)
|
||||
alias_method :setup_without_mailer, :setup
|
||||
define_method(:setup) do
|
||||
setup_with_mailer
|
||||
setup_without_mailer
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
def charset
|
||||
|
|
|
@ -115,3 +115,21 @@ class TestHelperMailerTest < ActionMailer::TestCase
|
|||
assert_match /0 .* but 1/, error.message
|
||||
end
|
||||
end
|
||||
|
||||
class AnotherTestHelperMailerTest < ActionMailer::TestCase
|
||||
|
||||
tests TestHelperMailer
|
||||
|
||||
def setup
|
||||
# Should not override ActionMailer setup methods
|
||||
@test_var = "a value"
|
||||
end
|
||||
|
||||
def test_should_still_setup_mailer
|
||||
assert @expected.is_a?(TMail::Mail)
|
||||
end
|
||||
|
||||
def test_should_run_overridden_setup_method
|
||||
assert @test_var
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue