diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index d5e347ad6c..a064526e06 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -268,7 +268,7 @@ * radio_button_tag generates unique id attributes. #3353 [Bob Silva, somekool@gmail.com] -* strip_tags returns nil for a blank arg such as nil or "". #2229 [duncan@whomwah.com] +* strip_tags passes through blank args such as nil or "". #2229, #6702 [duncan@whomwah.com, dharana] * Cleanup assert_tag :children counting. #2181 [jamie@bravenet.com] diff --git a/actionpack/lib/action_view/helpers/text_helper.rb b/actionpack/lib/action_view/helpers/text_helper.rb index 0b04bd323f..0b1b46b0f3 100644 --- a/actionpack/lib/action_view/helpers/text_helper.rb +++ b/actionpack/lib/action_view/helpers/text_helper.rb @@ -254,7 +254,7 @@ module ActionView # html-scanner tokenizer and so its HTML parsing ability is limited by # that of html-scanner. def strip_tags(html) - return nil if html.blank? + return html if html.blank? if html.index("<") text = "" tokenizer = HTML::Tokenizer.new(html) diff --git a/actionpack/test/template/text_helper_test.rb b/actionpack/test/template/text_helper_test.rb index 8825a24f14..bf008ae9df 100644 --- a/actionpack/test/template/text_helper_test.rb +++ b/actionpack/test/template/text_helper_test.rb @@ -321,6 +321,6 @@ class TextHelperTest < Test::Unit::TestCase %{This is a test.\n\n\nIt no longer contains any HTML.\n}, strip_tags( %{This is <b>a <a href="" target="_blank">test</a></b>.\n\n\n\n

It no longer contains any HTML.

\n})) assert_equal "This has a here.", strip_tags("This has a here.") - [nil, '', ' '].each { |blank| assert_nil strip_tags(blank) } + [nil, '', ' '].each { |blank| assert_equal blank, strip_tags(blank) } end end