diff options
Diffstat (limited to 'actionmailer')
-rw-r--r-- | actionmailer/lib/action_mailer/base.rb | 2 | ||||
-rw-r--r-- | actionmailer/lib/action_mailer/test_case.rb | 9 | ||||
-rw-r--r-- | actionmailer/test/test_test.rb | 28 |
3 files changed, 37 insertions, 2 deletions
diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb index ac49702ced..8f2c567e3e 100644 --- a/actionmailer/lib/action_mailer/base.rb +++ b/actionmailer/lib/action_mailer/base.rb @@ -524,7 +524,7 @@ module ActionMailer #:nodoc: # # * <tt>:subject</tt> - The subject of the message, if this is omitted, Action Mailer will # ask the Rails I18n class for a translated <tt>:subject</tt> in the scope of - # <tt>[:actionmailer, mailer_scope, action_name]</tt> or if this is missing, will translate the + # <tt>[mailer_scope, action_name]</tt> or if this is missing, will translate the # humanized version of the <tt>action_name</tt> # * <tt>:to</tt> - Who the message is destined for, can be a string of addresses, or an array # of addresses. diff --git a/actionmailer/lib/action_mailer/test_case.rb b/actionmailer/lib/action_mailer/test_case.rb index 63e18147f6..c4de029694 100644 --- a/actionmailer/lib/action_mailer/test_case.rb +++ b/actionmailer/lib/action_mailer/test_case.rb @@ -17,7 +17,14 @@ module ActionMailer module ClassMethods def tests(mailer) - self._mailer_class = mailer + case mailer + when String, Symbol + self._mailer_class = mailer.to_s.camelize.constantize + when Module + self._mailer_class = mailer + else + raise NonInferrableMailerError.new(mailer) + end end def mailer_class diff --git a/actionmailer/test/test_test.rb b/actionmailer/test/test_test.rb new file mode 100644 index 0000000000..86fd37bea6 --- /dev/null +++ b/actionmailer/test/test_test.rb @@ -0,0 +1,28 @@ +require 'abstract_unit' + +class TestTestMailer < ActionMailer::Base +end + +class CrazyNameMailerTest < ActionMailer::TestCase + tests TestTestMailer + + def test_set_mailer_class_manual + assert_equal TestTestMailer, self.class.mailer_class + end +end + +class CrazySymbolNameMailerTest < ActionMailer::TestCase + tests :test_test_mailer + + def test_set_mailer_class_manual_using_symbol + assert_equal TestTestMailer, self.class.mailer_class + end +end + +class CrazyStringNameMailerTest < ActionMailer::TestCase + tests 'test_test_mailer' + + def test_set_mailer_class_manual_using_string + assert_equal TestTestMailer, self.class.mailer_class + end +end |