aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-01-26 18:39:53 +0100
committerJosé Valim <jose.valim@gmail.com>2010-01-26 18:39:53 +0100
commitbdc39fad3629f89f552e40d13b7612db15ffa552 (patch)
treefe0a6fd607eaf742d58e861c9bd00c5d560e58d1 /actionmailer
parente274eb1df1dcf526febb7c3a1a8dc2c02325d68c (diff)
parent31b538df6457ba723668afc62e85056e3bca9413 (diff)
downloadrails-bdc39fad3629f89f552e40d13b7612db15ffa552.tar.gz
rails-bdc39fad3629f89f552e40d13b7612db15ffa552.tar.bz2
rails-bdc39fad3629f89f552e40d13b7612db15ffa552.zip
Merge branch 'master' of git://github.com/rails/rails
Diffstat (limited to 'actionmailer')
-rw-r--r--actionmailer/test/fixtures/nested/layouts/spam.html.erb1
-rw-r--r--actionmailer/test/fixtures/nested_layout_mailer/signup.html.erb1
-rw-r--r--actionmailer/test/fixtures/test_mailer/multipart_alternative.html.erb1
-rw-r--r--actionmailer/test/fixtures/test_mailer/multipart_alternative.plain.erb1
-rw-r--r--actionmailer/test/old_base/mail_layout_test.rb19
-rw-r--r--actionmailer/test/old_base/mail_render_test.rb37
6 files changed, 58 insertions, 2 deletions
diff --git a/actionmailer/test/fixtures/nested/layouts/spam.html.erb b/actionmailer/test/fixtures/nested/layouts/spam.html.erb
new file mode 100644
index 0000000000..7a24b19b7f
--- /dev/null
+++ b/actionmailer/test/fixtures/nested/layouts/spam.html.erb
@@ -0,0 +1 @@
+Nested Spammer layout <%= yield %> \ No newline at end of file
diff --git a/actionmailer/test/fixtures/nested_layout_mailer/signup.html.erb b/actionmailer/test/fixtures/nested_layout_mailer/signup.html.erb
new file mode 100644
index 0000000000..4789e888c6
--- /dev/null
+++ b/actionmailer/test/fixtures/nested_layout_mailer/signup.html.erb
@@ -0,0 +1 @@
+We do not spam \ No newline at end of file
diff --git a/actionmailer/test/fixtures/test_mailer/multipart_alternative.html.erb b/actionmailer/test/fixtures/test_mailer/multipart_alternative.html.erb
new file mode 100644
index 0000000000..73ea14f82f
--- /dev/null
+++ b/actionmailer/test/fixtures/test_mailer/multipart_alternative.html.erb
@@ -0,0 +1 @@
+<strong>foo</strong> <%= @foo %> \ No newline at end of file
diff --git a/actionmailer/test/fixtures/test_mailer/multipart_alternative.plain.erb b/actionmailer/test/fixtures/test_mailer/multipart_alternative.plain.erb
new file mode 100644
index 0000000000..779fe4c1ea
--- /dev/null
+++ b/actionmailer/test/fixtures/test_mailer/multipart_alternative.plain.erb
@@ -0,0 +1 @@
+foo: <%= @foo %> \ No newline at end of file
diff --git a/actionmailer/test/old_base/mail_layout_test.rb b/actionmailer/test/old_base/mail_layout_test.rb
index 4038fbf339..2abd3ece92 100644
--- a/actionmailer/test/old_base/mail_layout_test.rb
+++ b/actionmailer/test/old_base/mail_layout_test.rb
@@ -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
diff --git a/actionmailer/test/old_base/mail_render_test.rb b/actionmailer/test/old_base/mail_render_test.rb
index 804200fd36..7ba55b1bd2 100644
--- a/actionmailer/test/old_base/mail_render_test.rb
+++ b/actionmailer/test/old_base/mail_render_test.rb
@@ -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