From af43674c1cc73630736537a73e79a24ac2bef995 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Tue, 26 Jan 2010 19:15:20 +0100 Subject: Fix failing tests on AM about render(:body => Hash). --- actionmailer/lib/action_mailer/deprecated_api.rb | 6 ++- actionmailer/lib/action_mailer/old_api.rb | 8 +--- actionmailer/test/old_base/mail_layout_test.rb | 4 +- actionmailer/test/old_base/mail_render_test.rb | 47 +++++------------------- actionmailer/test/old_base/mail_service_test.rb | 37 +++++++++---------- actionmailer/test/subscriber_test.rb | 2 +- 6 files changed, 36 insertions(+), 68 deletions(-) (limited to 'actionmailer') diff --git a/actionmailer/lib/action_mailer/deprecated_api.rb b/actionmailer/lib/action_mailer/deprecated_api.rb index 61101c26a1..36eec1087e 100644 --- a/actionmailer/lib/action_mailer/deprecated_api.rb +++ b/actionmailer/lib/action_mailer/deprecated_api.rb @@ -93,10 +93,12 @@ module ActionMailer def render(*args) options = args.last.is_a?(Hash) ? args.last : {} - if options[:body] + + if options[:body].is_a?(Hash) ActiveSupport::Deprecation.warn(':body in render deprecated. Please use instance ' << 'variables as assigns instead', caller[0,1]) - body options.delete(:body) + + options[:body].each { |k,v| instance_variable_set(:"@#{k}", v) } end super end diff --git a/actionmailer/lib/action_mailer/old_api.rb b/actionmailer/lib/action_mailer/old_api.rb index 22c3c518b1..4694958222 100644 --- a/actionmailer/lib/action_mailer/old_api.rb +++ b/actionmailer/lib/action_mailer/old_api.rb @@ -204,12 +204,8 @@ module ActionMailer def create_parts if String === @body - self.response_body = @body - end - - if String === response_body - @parts.unshift create_inline_part(response_body) - else + @parts.unshift create_inline_part(@body) + elsif @parts.empty? || @parts.all? { |p| p.content_disposition =~ /^attachment/ } self.class.view_paths.first.find_all(@template, {}, @mailer_name).each do |template| @parts << create_inline_part(render_to_body(:_template => template), template.mime_type) end diff --git a/actionmailer/test/old_base/mail_layout_test.rb b/actionmailer/test/old_base/mail_layout_test.rb index 2abd3ece92..c69252efa9 100644 --- a/actionmailer/test/old_base/mail_layout_test.rb +++ b/actionmailer/test/old_base/mail_layout_test.rb @@ -14,7 +14,7 @@ class AutoLayoutMailer < ActionMailer::Base from "tester@example.com" @world = "Earth" - render(:inline => "Hello, <%= @world %>", :layout => 'spam') + body render(:inline => "Hello, <%= @world %>", :layout => 'spam') end def nolayout @@ -23,7 +23,7 @@ class AutoLayoutMailer < ActionMailer::Base from "tester@example.com" @world = "Earth" - render(:inline => "Hello, <%= @world %>", :layout => false) + body render(:inline => "Hello, <%= @world %>", :layout => false) end def multipart(type = nil) diff --git a/actionmailer/test/old_base/mail_render_test.rb b/actionmailer/test/old_base/mail_render_test.rb index 7ba55b1bd2..4213c2a173 100644 --- a/actionmailer/test/old_base/mail_render_test.rb +++ b/actionmailer/test/old_base/mail_render_test.rb @@ -7,7 +7,7 @@ class RenderMailer < ActionMailer::Base from "tester@example.com" @world = "Earth" - render :inline => "Hello, <%= @world %>" + body render(:inline => "Hello, <%= @world %>") end def file_template @@ -16,16 +16,7 @@ class RenderMailer < ActionMailer::Base from "tester@example.com" @recipient = 'test@localhost' - render :file => "templates/signed_up" - end - - def implicit_body - recipients 'test@localhost' - subject "using helpers" - from "tester@example.com" - - @recipient = 'test@localhost' - render :template => "templates/signed_up" + body render(:file => "templates/signed_up") end def rxml_template @@ -40,21 +31,13 @@ class RenderMailer < ActionMailer::Base from "tester@example.com" end - def mailer_accessor - recipients 'test@localhost' - subject "Mailer Accessor" - from "tester@example.com" - - render :inline => "Look, <%= mailer.subject %>!" - end - def no_instance_variable recipients 'test@localhost' subject "No Instance Variable" from "tester@example.com" silence_warnings do - render :inline => "Look, subject.nil? is <%= @subject.nil? %>!" + body render(:inline => "Look, subject.nil? is <%= @subject.nil? %>!") end end @@ -81,13 +64,11 @@ class RenderMailer < ActionMailer::Base part "text/html" do |p| p.body = build_body_part('html', assigns) - p.transfer_encoding = "base64" end end def build_body_part(content_type, assigns, options = {}) render "#{template}.#{content_type}", :body => assigns - # render options.merge(:file => "#{template}.#{content_type}", :body => assigns) end end @@ -122,11 +103,6 @@ class RenderHelperTest < Test::Unit::TestCase restore_delivery_method end - def test_implicit_body - mail = RenderMailer.implicit_body - assert_equal "Hello there, \n\nMr. test@localhost", mail.body.to_s.strip - end - def test_inline_template mail = RenderMailer.inline_template assert_equal "Hello, Earth", mail.body.to_s.strip @@ -147,11 +123,6 @@ class RenderHelperTest < Test::Unit::TestCase assert_equal "Hey Ho, let's go!", mail.body.to_s.strip end - def test_mailer_accessor - mail = RenderMailer.mailer_accessor.deliver - assert_equal "Look, Mailer Accessor!", mail.body.to_s.strip - end - def test_no_instance_variable mail = RenderMailer.no_instance_variable.deliver assert_equal "Look, subject.nil? is true!", mail.body.to_s.strip @@ -159,12 +130,12 @@ class RenderHelperTest < Test::Unit::TestCase def test_legacy_multipart_alternative mail = RenderMailer.multipart_alternative.deliver - assert_equal(2, email.parts.size) - assert_equal("multipart/alternative", email.mime_type) - assert_equal("text/plain", email.parts[0].mime_type) - assert_equal("foo: bar", email.parts[0].body.encoded) - assert_equal("text/html", email.parts[1].mime_type) - assert_equal("foo bar", email.parts[1].body.encoded) + assert_equal(2, mail.parts.size) + assert_equal("multipart/alternative", mail.mime_type) + assert_equal("text/plain", mail.parts[0].mime_type) + assert_equal("foo: bar", mail.parts[0].body.encoded) + assert_equal("text/html", mail.parts[1].mime_type) + assert_equal("foo bar", mail.parts[1].body.encoded) end end diff --git a/actionmailer/test/old_base/mail_service_test.rb b/actionmailer/test/old_base/mail_service_test.rb index fb784328bc..70dafaf33c 100644 --- a/actionmailer/test/old_base/mail_service_test.rb +++ b/actionmailer/test/old_base/mail_service_test.rb @@ -27,20 +27,19 @@ class TestMailer < ActionMailer::Base subject "[Cancelled] Goodbye #{recipient}" from "system@loudthinking.com" sent_on Time.local(2004, 12, 12) - - render :text => "Goodbye, Mr. #{recipient}" + body "Goodbye, Mr. #{recipient}" end def from_with_name from "System " recipients "root@loudthinking.com" - render :text => "Nothing to see here." + body "Nothing to see here." end def from_without_name from "system@loudthinking.com" recipients "root@loudthinking.com" - render :text => "Nothing to see here." + body "Nothing to see here." end def cc_bcc(recipient) @@ -51,7 +50,7 @@ class TestMailer < ActionMailer::Base cc "nobody@loudthinking.com" bcc "root@loudthinking.com" - render :text => "Nothing to see here." + body "Nothing to see here." end def different_reply_to(recipient) @@ -61,7 +60,7 @@ class TestMailer < ActionMailer::Base sent_on Time.local(2008, 5, 23) reply_to "atraver@gmail.com" - render :text => "Nothing to see here." + body "Nothing to see here." end def iso_charset(recipient) @@ -73,7 +72,7 @@ class TestMailer < ActionMailer::Base bcc "root@loudthinking.com" charset "iso-8859-1" - render :text => "Nothing to see here." + body "Nothing to see here." end def unencoded_subject(recipient) @@ -84,7 +83,7 @@ class TestMailer < ActionMailer::Base cc "nobody@loudthinking.com" bcc "root@loudthinking.com" - render :text => "Nothing to see here." + body "Nothing to see here." end def extended_headers(recipient) @@ -96,7 +95,7 @@ class TestMailer < ActionMailer::Base bcc "Grytøyr " charset "iso-8859-1" - render :text => "Nothing to see here." + body "Nothing to see here." end def utf8_body(recipient) @@ -108,7 +107,7 @@ class TestMailer < ActionMailer::Base bcc "Foo áëô îü " charset "utf-8" - render :text => "åœö blah" + body "åœö blah" end def multipart_with_mime_version(recipient) @@ -158,7 +157,7 @@ class TestMailer < ActionMailer::Base attachment :content_type => "image/jpeg", :filename => File.join(File.dirname(__FILE__), "fixtures", "attachments", "foo.jpg"), :data => "123456789" - render :text => "plain text default" + body "plain text default" end def implicitly_multipart_example(recipient, cs = nil, order = nil) @@ -187,12 +186,12 @@ class TestMailer < ActionMailer::Base from "test@example.com" content_type "text/html" - render :text => "Emphasize this" + body "Emphasize this" end def html_mail_with_underscores(recipient) subject "html mail with underscores" - render :text => %{_Google} + body %{_Google} end def custom_template(recipient) @@ -219,7 +218,7 @@ class TestMailer < ActionMailer::Base subject "various newlines" from "test@example.com" - render :text => "line #1\nline #2\rline #3\r\nline #4\r\r" + + body "line #1\nline #2\rline #3\r\nline #4\r\r" + "line #5\n\nline#6\r\n\r\nline #7" end @@ -282,7 +281,7 @@ class TestMailer < ActionMailer::Base from "One: Two " cc "Three: Four " bcc "Five: Six " - render :text => "testing" + body "testing" end def custom_content_type_attributes @@ -290,7 +289,7 @@ class TestMailer < ActionMailer::Base subject "custom content types" from "some.one@somewhere.test" content_type "text/plain; format=flowed" - render :text => "testing" + body "testing" end def return_path @@ -298,13 +297,13 @@ class TestMailer < ActionMailer::Base subject "return path test" from "some.one@somewhere.test" headers["return-path"] = "another@somewhere.test" - render :text => "testing" + body "testing" end def subject_with_i18n(recipient) recipients recipient from "system@loudthinking.com" - render :text => "testing" + body "testing" end class << self @@ -1111,7 +1110,7 @@ end class MethodNamingTest < ActiveSupport::TestCase class TestMailer < ActionMailer::Base def send - render :text => 'foo' + body 'foo' end end diff --git a/actionmailer/test/subscriber_test.rb b/actionmailer/test/subscriber_test.rb index 6c347b8392..3d1736d64f 100644 --- a/actionmailer/test/subscriber_test.rb +++ b/actionmailer/test/subscriber_test.rb @@ -11,7 +11,7 @@ class AMSubscriberTest < ActionMailer::TestCase recipients "somewhere@example.com" subject "basic" from "basic@example.com" - render :text => "Hello world" + body "Hello world" end def receive(mail) -- cgit v1.2.3