aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/lib/action_mailer/test_case.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2012-09-25 09:26:42 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2012-09-25 09:26:42 -0700
commitc96b20f8d985c6fa87a8efda7a4884e3c35e5739 (patch)
tree4fd35e201d0636a50c398525d81e62b8adba536a /actionmailer/lib/action_mailer/test_case.rb
parenta05a079c109ebbafd8112be0044c9d82b4a28d97 (diff)
parent64f254ccf74242453421d0c495388293dbc06c71 (diff)
downloadrails-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/action_mailer/test_case.rb')
-rw-r--r--actionmailer/lib/action_mailer/test_case.rb15
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