diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2012-09-25 09:26:42 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2012-09-25 09:26:42 -0700 |
commit | c96b20f8d985c6fa87a8efda7a4884e3c35e5739 (patch) | |
tree | 4fd35e201d0636a50c398525d81e62b8adba536a /actionmailer/lib | |
parent | a05a079c109ebbafd8112be0044c9d82b4a28d97 (diff) | |
parent | 64f254ccf74242453421d0c495388293dbc06c71 (diff) | |
download | rails-c96b20f8d985c6fa87a8efda7a4884e3c35e5739.tar.gz rails-c96b20f8d985c6fa87a8efda7a4884e3c35e5739.tar.bz2 rails-c96b20f8d985c6fa87a8efda7a4884e3c35e5739.zip |
Merge pull request #7749 from blowmage/minitest
Improve support for minitest's spec DSL
Diffstat (limited to 'actionmailer/lib')
-rw-r--r-- | actionmailer/lib/action_mailer/test_case.rb | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/actionmailer/lib/action_mailer/test_case.rb b/actionmailer/lib/action_mailer/test_case.rb index 108969ed4c..e60dda9694 100644 --- a/actionmailer/lib/action_mailer/test_case.rb +++ b/actionmailer/lib/action_mailer/test_case.rb @@ -10,6 +10,13 @@ module ActionMailer end class TestCase < ActiveSupport::TestCase + + # Use AM::TestCase for the base class when describing a mailer + register_spec_type(self) do |desc| + Class === desc && desc < ActionMailer::Base + end + register_spec_type(/Mailer( ?Test)?\z/i, self) + module Behavior extend ActiveSupport::Concern @@ -42,9 +49,11 @@ module ActionMailer end def determine_default_mailer(name) - name.sub(/Test$/, '').constantize - rescue NameError - raise NonInferrableMailerError.new(name) + mailer = determine_constant_from_test_name(name) do |constant| + Class === constant && constant < ActionMailer::Base + end + raise NonInferrableMailerError.new(name) if mailer.nil? + mailer end end |