Browse files

Merge pull request #5046 from avakhov/am-block-format-fit

Cosmetic fixes in block_format AM helper method + test
  • Loading branch information...
2 parents 5cc47e4 + 393d4ec commit 1c75b9afa0f2c5fe5e841103e7d7351a89e5873d @josevalim josevalim committed Feb 14, 2012
Showing with 33 additions and 2 deletions.
  1. +2 −2 actionmailer/lib/action_mailer/mail_helper.rb
  2. +31 −0 actionmailer/test/mail_helper_test.rb
View
4 actionmailer/lib/action_mailer/mail_helper.rb
@@ -3,9 +3,9 @@ module MailHelper
# Uses Text::Format to take the text and format it, indented two spaces for
# each line, and wrapped at 72 columns.
def block_format(text)
- formatted = text.split(/\n\r\n/).collect { |paragraph|
+ formatted = text.split(/\n\r?\n/).collect { |paragraph|
format_paragraph(paragraph)
- }.join("\n")
+ }.join("\n\n")
# Make list points stand on their own line
formatted.gsub!(/[ ]*([*]+) ([^*]*)/) { |s| " #{$1} #{$2.strip}\n" }
View
31 actionmailer/test/mail_helper_test.rb
@@ -34,6 +34,23 @@ def use_message
end
end
+ def use_block_format
+ @text = <<-TEXT
+This is the
+first paragraph.
+
+The second
+ paragraph.
+
+* item1 * item2
+ * item3
+ TEXT
+
+ mail_with_defaults do |format|
+ format.html { render(:inline => "<%= block_format @text %>") }
+ end
+ end
+
protected
def mail_with_defaults(&block)
@@ -63,5 +80,19 @@ def test_use_format_paragraph
mail = HelperMailer.use_format_paragraph
assert_match " But soft! What\r\n light through\r\n yonder window\r\n breaks?", mail.body.encoded
end
+
+ def test_use_block_format
+ mail = HelperMailer.use_block_format
+ expected = <<-TEXT
+ This is the first paragraph.
+
+ The second paragraph.
+
+ * item1
+ * item2
+ * item3
+ TEXT
+ assert_equal expected.gsub("\n", "\r\n"), mail.body.encoded
+ end
end

0 comments on commit 1c75b9a

Please sign in to comment.