From d4bb22b2201c1ece5dcbec7859e5e3039f9b2ec2 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 4 Sep 2006 19:26:32 +0000 Subject: Fixed TextHelper#simple_format to deal with multiple single returns within a single paragraph (closes #5835) [moriq@moriq.com] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4994 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/CHANGELOG | 2 ++ actionpack/lib/action_view/helpers/text_helper.rb | 2 +- actionpack/test/template/text_helper_test.rb | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) (limited to 'actionpack') diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index 59e2577608..8448d657f8 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Fixed TextHelper#simple_format to deal with multiple single returns within a single paragraph #5835 [moriq@moriq.com] + * Fixed TextHelper#pluralize to handle 1 as a string #5905 [rails@bencurtis.com] * Improved resolution of DateHelper#distance_of_time_in_words for better precision #5994 [Bob Silva] diff --git a/actionpack/lib/action_view/helpers/text_helper.rb b/actionpack/lib/action_view/helpers/text_helper.rb index 91f368fa45..9d8921bf86 100644 --- a/actionpack/lib/action_view/helpers/text_helper.rb +++ b/actionpack/lib/action_view/helpers/text_helper.rb @@ -123,7 +123,7 @@ module ActionView text.gsub!(/(\r\n|\n|\r)/, "\n") # lets make them newlines crossplatform text.gsub!(/\n\n+/, "\n\n") # zap dupes text.gsub!(/\n\n/, '

\0

') # turn two newlines into paragraph - text.gsub!(/([^\n])(\n)([^\n])/, '\1\2
\3') # turn single newline into
+ text.gsub!(/([^\n])(\n)(?=[^\n])/, '\1\2
') # turn single newline into
content_tag("p", text) end diff --git a/actionpack/test/template/text_helper_test.rb b/actionpack/test/template/text_helper_test.rb index cf945365b4..850175109a 100644 --- a/actionpack/test/template/text_helper_test.rb +++ b/actionpack/test/template/text_helper_test.rb @@ -16,6 +16,7 @@ class TextHelperTest < Test::Unit::TestCase assert_equal "

crazy\n
cross\n
platform linebreaks

", simple_format("crazy\r\n cross\r platform linebreaks") assert_equal "

A paragraph

\n\n

and another one!

", simple_format("A paragraph\n\nand another one!") assert_equal "

A paragraph\n
With a newline

", simple_format("A paragraph\n With a newline") + assert_equal "

A\n
B\n
C\n
D

", simple_format("A\nB\nC\nD") end def test_truncate -- cgit v1.2.3