diff options
author | Jamis Buck <jamis@37signals.com> | 2005-06-16 11:39:29 +0000 |
---|---|---|
committer | Jamis Buck <jamis@37signals.com> | 2005-06-16 11:39:29 +0000 |
commit | 5ec990af9e348e245b6583c49bba90a00e50c6db (patch) | |
tree | 8ebf209203296d8b5f0671d771bab0e46af6cb77 /actionmailer/test | |
parent | c2ed453880539fbc27fc0e00a95fbcf9949d0ed6 (diff) | |
download | rails-5ec990af9e348e245b6583c49bba90a00e50c6db.tar.gz rails-5ec990af9e348e245b6583c49bba90a00e50c6db.tar.bz2 rails-5ec990af9e348e245b6583c49bba90a00e50c6db.zip |
Helper support for ActionMailer
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1446 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionmailer/test')
6 files changed, 110 insertions, 0 deletions
diff --git a/actionmailer/test/fixtures/helper_mailer/use_helper.rhtml b/actionmailer/test/fixtures/helper_mailer/use_helper.rhtml new file mode 100644 index 0000000000..378777f8bb --- /dev/null +++ b/actionmailer/test/fixtures/helper_mailer/use_helper.rhtml @@ -0,0 +1 @@ +Hello, <%= person_name %>. Thanks for registering! diff --git a/actionmailer/test/fixtures/helper_mailer/use_helper_method.rhtml b/actionmailer/test/fixtures/helper_mailer/use_helper_method.rhtml new file mode 100644 index 0000000000..d5b8b285e7 --- /dev/null +++ b/actionmailer/test/fixtures/helper_mailer/use_helper_method.rhtml @@ -0,0 +1 @@ +This message brought to you by <%= name_of_the_mailer_class %>. diff --git a/actionmailer/test/fixtures/helper_mailer/use_mail_helper.rhtml b/actionmailer/test/fixtures/helper_mailer/use_mail_helper.rhtml new file mode 100644 index 0000000000..96ec49d18a --- /dev/null +++ b/actionmailer/test/fixtures/helper_mailer/use_mail_helper.rhtml @@ -0,0 +1,5 @@ +From "Romeo and Juliet": + +<%= block_format @text %> + +Good ol' Shakespeare. diff --git a/actionmailer/test/fixtures/helper_mailer/use_test_helper.rhtml b/actionmailer/test/fixtures/helper_mailer/use_test_helper.rhtml new file mode 100644 index 0000000000..52ea9aa413 --- /dev/null +++ b/actionmailer/test/fixtures/helper_mailer/use_test_helper.rhtml @@ -0,0 +1 @@ +So, <%= test_format(@text) %> diff --git a/actionmailer/test/fixtures/helpers/test_helper.rb b/actionmailer/test/fixtures/helpers/test_helper.rb new file mode 100644 index 0000000000..f479820c96 --- /dev/null +++ b/actionmailer/test/fixtures/helpers/test_helper.rb @@ -0,0 +1,5 @@ +module TestHelper + def test_format(text) + "<em><strong><small>#{text}</small></strong></em>" + end +end diff --git a/actionmailer/test/mail_helper_test.rb b/actionmailer/test/mail_helper_test.rb new file mode 100644 index 0000000000..bf5bf7f3ac --- /dev/null +++ b/actionmailer/test/mail_helper_test.rb @@ -0,0 +1,97 @@ +$:.unshift(File.dirname(__FILE__) + "/../lib/") +$:.unshift File.dirname(__FILE__) + "/fixtures/helpers" + +require 'test/unit' +require 'action_mailer' + +module MailerHelper + def person_name + "Mr. Joe Person" + end +end + +class HelperMailer < ActionMailer::Base + helper MailerHelper + helper :test + + def use_helper(recipient) + recipients recipient + subject "using helpers" + from "tester@example.com" + end + + def use_test_helper(recipient) + recipients recipient + subject "using helpers" + from "tester@example.com" + self.body = { :text => "emphasize me!" } + end + + def use_mail_helper(recipient) + recipients recipient + subject "using mailing helpers" + from "tester@example.com" + self.body = { :text => + "But soft! What light through yonder window breaks? It is the east, " + + "and Juliet is the sun. Arise, fair sun, and kill the envious moon, " + + "which is sick and pale with grief that thou, her maid, art far more " + + "fair than she. Be not her maid, for she is envious! Her vestal " + + "livery is but sick and green, and none but fools do wear it. Cast " + + "it off!" + } + end + + def use_helper_method(recipient) + recipients recipient + subject "using helpers" + from "tester@example.com" + self.body = { :text => "emphasize me!" } + end + + private + + def name_of_the_mailer_class + self.class.name + end + helper_method :name_of_the_mailer_class +end + +HelperMailer.template_root = File.dirname(__FILE__) + "/fixtures" + +class MailerHelperTest < Test::Unit::TestCase + def new_mail( charset="utf-8" ) + mail = TMail::Mail.new + mail.set_content_type "text", "plain", { "charset" => charset } if charset + mail + end + + def setup + ActionMailer::Base.delivery_method = :test + ActionMailer::Base.perform_deliveries = true + ActionMailer::Base.deliveries = [] + + @recipient = 'test@localhost' + end + + def test_use_helper + mail = HelperMailer.create_use_helper(@recipient) + assert_match %r{Mr. Joe Person}, mail.encoded + end + + def test_use_test_helper + mail = HelperMailer.create_use_test_helper(@recipient) + assert_match %r{<em><strong><small>emphasize me!}, mail.encoded + end + + def test_use_helper_method + mail = HelperMailer.create_use_helper_method(@recipient) + assert_match %r{HelperMailer}, mail.encoded + end + + def test_use_mail_helper + mail = HelperMailer.create_use_mail_helper(@recipient) + assert_match %r{ But soft!}, mail.encoded + assert_match %r{east, and\n Juliet}, mail.encoded + end +end + |