mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Merge branch 'master' of git://github.com/rails/rails
This commit is contained in:
1
actionmailer/test/fixtures/nested/layouts/spam.html.erb
vendored
Normal file
1
actionmailer/test/fixtures/nested/layouts/spam.html.erb
vendored
Normal file
@@ -0,0 +1 @@
|
||||
Nested Spammer layout <%= yield %>
|
||||
1
actionmailer/test/fixtures/nested_layout_mailer/signup.html.erb
vendored
Normal file
1
actionmailer/test/fixtures/nested_layout_mailer/signup.html.erb
vendored
Normal file
@@ -0,0 +1 @@
|
||||
We do not spam
|
||||
1
actionmailer/test/fixtures/test_mailer/multipart_alternative.html.erb
vendored
Normal file
1
actionmailer/test/fixtures/test_mailer/multipart_alternative.html.erb
vendored
Normal file
@@ -0,0 +1 @@
|
||||
<strong>foo</strong> <%= @foo %>
|
||||
1
actionmailer/test/fixtures/test_mailer/multipart_alternative.plain.erb
vendored
Normal file
1
actionmailer/test/fixtures/test_mailer/multipart_alternative.plain.erb
vendored
Normal file
@@ -0,0 +1 @@
|
||||
foo: <%= @foo %>
|
||||
@@ -1,7 +1,7 @@
|
||||
require 'abstract_unit'
|
||||
|
||||
class AutoLayoutMailer < ActionMailer::Base
|
||||
|
||||
|
||||
def hello
|
||||
recipients 'test@localhost'
|
||||
subject "You have a mail"
|
||||
@@ -51,6 +51,16 @@ class ExplicitLayoutMailer < ActionMailer::Base
|
||||
end
|
||||
end
|
||||
|
||||
class NestedLayoutMailer < ActionMailer::Base
|
||||
layout 'nested/layouts/spam'
|
||||
|
||||
def signup
|
||||
recipients 'test@localhost'
|
||||
subject "You have a mail"
|
||||
from "tester@example.com"
|
||||
end
|
||||
end
|
||||
|
||||
class LayoutMailerTest < Test::Unit::TestCase
|
||||
def setup
|
||||
set_delivery_method :test
|
||||
@@ -77,7 +87,7 @@ class LayoutMailerTest < Test::Unit::TestCase
|
||||
# CHANGED: content_type returns an object
|
||||
# assert_equal 'text/plain', mail.parts.first.content_type
|
||||
assert_equal 'text/plain', mail.parts.first.mime_type
|
||||
|
||||
|
||||
# CHANGED: body returns an object
|
||||
# assert_equal "text/plain layout - text/plain multipart", mail.parts.first.body
|
||||
assert_equal "text/plain layout - text/plain multipart", mail.parts.first.body.to_s
|
||||
@@ -145,4 +155,9 @@ class LayoutMailerTest < Test::Unit::TestCase
|
||||
mail = ExplicitLayoutMailer.logout
|
||||
assert_equal "You logged out", mail.body.to_s.strip
|
||||
end
|
||||
|
||||
def test_nested_class_layout
|
||||
mail = NestedLayoutMailer.signup
|
||||
assert_equal "Nested Spammer layout We do not spam", mail.body.to_s.strip
|
||||
end
|
||||
end
|
||||
|
||||
@@ -62,6 +62,33 @@ class RenderMailer < ActionMailer::Base
|
||||
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 @@ class RenderHelperTest < Test::Unit::TestCase
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user