mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
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
This commit is contained in:
parent
bfe6a759c2
commit
691562746f
3 changed files with 8 additions and 1 deletions
|
@ -1,5 +1,7 @@
|
||||||
*SVN*
|
*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]
|
* 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]
|
* Ensure that helpers are only available to the controllers where they are defined and their subclasses. #1394 [kdole@tamu.edu]
|
||||||
|
|
|
@ -26,7 +26,7 @@ module ActionView
|
||||||
# passing +highlighter+ as single-quoted string with \1 where the phrase is supposed to be inserted.
|
# 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.
|
# 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>')
|
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?
|
text.gsub(/(#{escape_regexp(phrase)})/i, highlighter) unless text.nil?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,11 @@ class TextHelperTest < Test::Unit::TestCase
|
||||||
"This is a <b>beautiful</b> morning, but also a <b>beautiful</b> day",
|
"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>')
|
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
|
end
|
||||||
|
|
||||||
def test_highlighter_with_regexp
|
def test_highlighter_with_regexp
|
||||||
|
|
Loading…
Reference in a new issue