diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2005-06-16 05:42:47 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2005-06-16 05:42:47 +0000 |
commit | 691562746f277aa0453ec9fdc06fad5a59210fb5 (patch) | |
tree | 356af3e5c49511d7cb40d5f4d855249e5a3cb3e0 | |
parent | bfe6a759c25ad02b4bfcb2dd16999d8ba72e2df8 (diff) | |
download | rails-691562746f277aa0453ec9fdc06fad5a59210fb5.tar.gz rails-691562746f277aa0453ec9fdc06fad5a59210fb5.tar.bz2 rails-691562746f277aa0453ec9fdc06fad5a59210fb5.zip |
Fixed TextHelper#highlight to return the text, not nil, if the phrase is blank #1409 [patrick@lenz.sh]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1429 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rw-r--r-- | actionpack/CHANGELOG | 2 | ||||
-rw-r--r-- | actionpack/lib/action_view/helpers/text_helper.rb | 2 | ||||
-rw-r--r-- | actionpack/test/template/text_helper_test.rb | 5 |
3 files changed, 8 insertions, 1 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index 4ce455bc80..b161b1d552 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Fixed TextHelper#highlight to return the text, not nil, if the phrase is blank #1409 [patrick@lenz.sh] + * Fixed TagHelper such that :name and 'name' keys in the options doesn't result in two attributes #1455 [take_tk] * Ensure that helpers are only available to the controllers where they are defined and their subclasses. #1394 [kdole@tamu.edu] diff --git a/actionpack/lib/action_view/helpers/text_helper.rb b/actionpack/lib/action_view/helpers/text_helper.rb index 2cc4b68ec0..0abd8e79fa 100644 --- a/actionpack/lib/action_view/helpers/text_helper.rb +++ b/actionpack/lib/action_view/helpers/text_helper.rb @@ -26,7 +26,7 @@ module ActionView # passing +highlighter+ as single-quoted string with \1 where the phrase is supposed to be inserted. # N.B.: The +phrase+ is sanitized to include only letters, digits, and spaces before use. def highlight(text, phrase, highlighter = '<strong class="highlight">\1</strong>') - if text.nil? || phrase.nil? then return end + if phrase.blank? then return text end text.gsub(/(#{escape_regexp(phrase)})/i, highlighter) unless text.nil? end diff --git a/actionpack/test/template/text_helper_test.rb b/actionpack/test/template/text_helper_test.rb index 926ebdaf47..81aca6f638 100644 --- a/actionpack/test/template/text_helper_test.rb +++ b/actionpack/test/template/text_helper_test.rb @@ -35,6 +35,11 @@ class TextHelperTest < Test::Unit::TestCase "This is a <b>beautiful</b> morning, but also a <b>beautiful</b> day", highlight("This is a beautiful morning, but also a beautiful day", "beautiful", '<b>\1</b>') ) + + assert_equal( + "This text is not changed because we supplied an empty phrase", + highlight("This text is not changed because we supplied an empty phrase", nil) + ) end def test_highlighter_with_regexp |