Permalink
Browse files

Failing AM test for legacy multipart alternative rendering

  • Loading branch information...
1 parent 9f71901 commit 31b538df6457ba723668afc62e85056e3bca9413 @josh josh committed Jan 26, 2010
View
1 actionmailer/test/fixtures/test_mailer/multipart_alternative.html.erb
@@ -0,0 +1 @@
+<strong>foo</strong> <%= @foo %>
View
1 actionmailer/test/fixtures/test_mailer/multipart_alternative.plain.erb
@@ -0,0 +1 @@
+foo: <%= @foo %>
View
37 actionmailer/test/old_base/mail_render_test.rb
@@ -62,6 +62,33 @@ def initialize_defaults(method_name)
super
mailer_name "test_mailer"
end
+
+ def multipart_alternative
+ recipients 'test@localhost'
+ subject 'multipart/alternative'
+ from 'tester@example.com'
+
+ build_multipart_message(:foo => "bar")
+ end
+
+ private
+ def build_multipart_message(assigns = {})
+ content_type "multipart/alternative"
+
+ part "text/plain" do |p|
+ p.body = build_body_part('plain', assigns, :layout => false)
+ end
+
+ 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
class FirstMailer < ActionMailer::Base
@@ -129,6 +156,16 @@ def test_no_instance_variable
mail = RenderMailer.no_instance_variable.deliver
assert_equal "Look, subject.nil? is true!", mail.body.to_s.strip
end
+
+ 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("<strong>foo</strong> bar", email.parts[1].body.encoded)
+ end
end
class FirstSecondHelperTest < Test::Unit::TestCase

0 comments on commit 31b538d

Please sign in to comment.