diff options
author | José Valim and Mikel Lindsaar <pair@programming.com> | 2010-01-23 12:46:33 +0100 |
---|---|---|
committer | José Valim and Mikel Lindsaar <pair@programming.com> | 2010-01-23 12:46:40 +0100 |
commit | c985a0ee3d9ae279fd02814ca60782e2f93215e4 (patch) | |
tree | 8a20b922033e8c38371076f17669e6167389c373 /actionmailer/test/base_test.rb | |
parent | 6ba944608e527b8d7fc564a6e450e2d4c4355ddb (diff) | |
download | rails-c985a0ee3d9ae279fd02814ca60782e2f93215e4.tar.gz rails-c985a0ee3d9ae279fd02814ca60782e2f93215e4.tar.bz2 rails-c985a0ee3d9ae279fd02814ca60782e2f93215e4.zip |
Add some tests to collector with templates and any.
Diffstat (limited to 'actionmailer/test/base_test.rb')
-rw-r--r-- | actionmailer/test/base_test.rb | 57 |
1 files changed, 46 insertions, 11 deletions
diff --git a/actionmailer/test/base_test.rb b/actionmailer/test/base_test.rb index 3033b2db0f..83943162d2 100644 --- a/actionmailer/test/base_test.rb +++ b/actionmailer/test/base_test.rb @@ -77,7 +77,19 @@ class BaseTest < ActiveSupport::TestCase format.html { render :text => "HTML Explicit Multipart" } end end - + + def explicit_multipart_templates(hash = {}) + mail(DEFAULT_HEADERS.merge(hash)) do |format| + format.html + format.text + end + end + + def explicit_multipart_with_any(hash = {}) + mail(DEFAULT_HEADERS.merge(hash)) do |format| + format.any(:text, :html){ render :text => "Format with any!" } + end + end end test "method call to mail does not raise error" do @@ -214,7 +226,7 @@ class BaseTest < ActiveSupport::TestCase end # Implicit multipart - test "implicit multipart tests" do + test "implicit multipart" do email = BaseMailer.deliver_implicit_multipart assert_equal(2, email.parts.size) assert_equal("multipart/alternate", email.mime_type) @@ -224,7 +236,7 @@ class BaseTest < ActiveSupport::TestCase assert_equal("HTML Implicit Multipart", email.parts[1].body.encoded) end - test "implicit multipart tests with sort order" do + test "implicit multipart with sort order" do order = ["text/html", "text/plain"] swap BaseMailer, :default_implicit_parts_order => order do email = BaseMailer.deliver_implicit_multipart @@ -258,7 +270,8 @@ class BaseTest < ActiveSupport::TestCase end end - test "explicit multipart tests" do + # Explicit multipart + test "explicit multipart" do email = BaseMailer.deliver_explicit_multipart assert_equal(2, email.parts.size) assert_equal("multipart/alternate", email.mime_type) @@ -282,15 +295,37 @@ class BaseTest < ActiveSupport::TestCase end test "explicit multipart with attachments creates nested parts" do - email = BaseMailer.deliver_explicit_multipart(:attachments => true) - assert_equal("application/pdf", email.parts[0].mime_type) - assert_equal("multipart/alternate", email.parts[1].mime_type) - assert_equal("text/plain", email.parts[1].parts[0].mime_type) - assert_equal("TEXT Explicit Multipart", email.parts[1].parts[0].body.encoded) - assert_equal("text/html", email.parts[1].parts[1].mime_type) - assert_equal("HTML Explicit Multipart", email.parts[1].parts[1].body.encoded) + email = BaseMailer.deliver_explicit_multipart(:attachments => true) + assert_equal("application/pdf", email.parts[0].mime_type) + assert_equal("multipart/alternate", email.parts[1].mime_type) + assert_equal("text/plain", email.parts[1].parts[0].mime_type) + assert_equal("TEXT Explicit Multipart", email.parts[1].parts[0].body.encoded) + assert_equal("text/html", email.parts[1].parts[1].mime_type) + assert_equal("HTML Explicit Multipart", email.parts[1].parts[1].body.encoded) end + # TODO Seems Mail is sorting the templates automatically, and not on demand + # test "explicit multipart with templates" do + # email = BaseMailer.deliver_explicit_multipart_templates + # assert_equal(2, email.parts.size) + # assert_equal("multipart/alternate", email.mime_type) + # assert_equal("text/html", email.parts[0].mime_type) + # assert_equal("HTML Explicit Multipart Templates", email.parts[0].body.encoded) + # assert_equal("text/plain", email.parts[1].mime_type) + # assert_equal("TEXT Explicit Multipart Templates", email.parts[1].body.encoded) + # end + + test "explicit multipart with any" do + email = BaseMailer.deliver_explicit_multipart_with_any + assert_equal(2, email.parts.size) + assert_equal("multipart/alternate", email.mime_type) + assert_equal("text/plain", email.parts[0].mime_type) + assert_equal("Format with any!", email.parts[0].body.encoded) + assert_equal("text/html", email.parts[1].mime_type) + assert_equal("Format with any!", email.parts[1].body.encoded) + end + + protected # Execute the block setting the given values and restoring old values after |