aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer
diff options
context:
space:
mode:
Diffstat (limited to 'actionmailer')
-rw-r--r--actionmailer/lib/action_mailer/base.rb4
-rw-r--r--actionmailer/test/base_test.rb16
2 files changed, 18 insertions, 2 deletions
diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb
index c1dc415728..e7eb6bffcd 100644
--- a/actionmailer/lib/action_mailer/base.rb
+++ b/actionmailer/lib/action_mailer/base.rb
@@ -387,7 +387,8 @@ module ActionMailer #:nodoc:
process(method_name, *args) if method_name
end
- # TODO Add new delivery method goodness
+ # TODO: Clean this up and refactor before Rails 3.0 release.
+ # This works for now, but not neat
def mail(headers = {})
# Guard flag to prevent both the old and the new API from firing
# Should be removed when old API is deprecated
@@ -446,6 +447,7 @@ module ActionMailer #:nodoc:
I18n.t(:subject, :scope => [:actionmailer, mailer_scope, action_name], :default => action_name.humanize)
end
+ # TODO: Move this into Mail
def quote_fields(m, headers, charset) #:nodoc:
m.subject ||= quote_if_necessary(headers[:subject], charset) if headers[:subject]
m.to ||= quote_address_if_necessary(headers[:to], charset) if headers[:to]
diff --git a/actionmailer/test/base_test.rb b/actionmailer/test/base_test.rb
index 0b650e9a28..7f41f3485c 100644
--- a/actionmailer/test/base_test.rb
+++ b/actionmailer/test/base_test.rb
@@ -327,7 +327,21 @@ class BaseTest < ActiveSupport::TestCase
test "ActionMailer should be told when Mail gets delivered" do
BaseMailer.deliveries.clear
BaseMailer.expects(:delivered_email).once
- email = BaseMailer.deliver_welcome
+ BaseMailer.deliver_welcome
+ assert_equal(1, BaseMailer.deliveries.length)
+ end
+
+ test "Calling just the action should return the generated mail object" do
+ BaseMailer.deliveries.clear
+ email = BaseMailer.welcome
+ assert_equal(0, BaseMailer.deliveries.length)
+ assert_equal('The first email on new API!', email.subject)
+ end
+
+ test "Calling deliver on the action should deliver the mail object" do
+ BaseMailer.deliveries.clear
+ BaseMailer.expects(:delivered_email).once
+ BaseMailer.welcome.deliver
assert_equal(1, BaseMailer.deliveries.length)
end