Permalink
Browse files

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
  • Loading branch information...
1 parent bfe6a75 commit 691562746f277aa0453ec9fdc06fad5a59210fb5 @dhh dhh committed Jun 16, 2005
View
@@ -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]
@@ -26,7 +26,7 @@ def truncate(text, length = 30, truncate_string = "...")
# 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
@@ -35,6 +35,11 @@ def test_highlighter
"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

0 comments on commit 6915627

Please sign in to comment.