1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Correct length for the truncate text helper. Closes #2913.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3080 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Jeremy Kemper 2005-11-18 01:25:39 +00:00
parent 173544f56c
commit fb3fc46cdd
3 changed files with 9 additions and 7 deletions

View file

@ -1,5 +1,7 @@
*SVN*
* Correct length for the truncate text helper. #2913 [Stefan Kaes]
* Update to Prototype 1.4.0_rc3. Closes #1893, #2505, #2550, #2748, #2783. [Sam Stephenson]
* Add support for new rjs templates which wrap an update_page block. [Marcel Molina Jr.]

View file

@ -20,12 +20,12 @@ module ActionView
# if the +text+ is longer than +length+.
def truncate(text, length = 30, truncate_string = "...")
if text.nil? then return end
l = length - truncate_string.length
if $KCODE == "NONE"
text.length > length ? text[0..(length - 3)] + truncate_string : text
text.length > length ? text[0...l] + truncate_string : text
else
chars = text.split(//)
chars.length > length ? chars[0..(length-3)].join + truncate_string : text
chars.length > length ? chars[0...l].join + truncate_string : text
end
end

View file

@ -24,7 +24,7 @@ class TextHelperTest < Test::Unit::TestCase
def test_truncate
assert_equal "Hello World!", truncate("Hello World!", 12)
assert_equal "Hello Worl...", truncate("Hello World!!", 12)
assert_equal "Hello Wor...", truncate("Hello World!!", 12)
end
def test_truncate_multibyte_without_kcode
@ -34,7 +34,7 @@ class TextHelperTest < Test::Unit::TestCase
truncate("\354\225\210\353\205\225\355\225\230\354\204\270\354\232\224", 10)
CODE
assert_equal "\354\225\210\353\205\225\355\225...", result
assert_equal "\354\225\210\353\205\225\355...", result
end
def test_truncate_multibyte_with_kcode
@ -47,7 +47,7 @@ class TextHelperTest < Test::Unit::TestCase
truncate("\354\225\204\353\246\254\353\236\221 \354\225\204\353\246\254\353\236 \354\225\204\353\235\274\353\246\254\354\230\244", 10)
CODE
assert_equal "\354\225\204\353\246\254\353\236\221 \354\225\204\353\246\254\353\236 \354\225\204...", result
assert_equal "\354\225\204\353\246\254\353\236\221 \354\225\204\353\246\254\353\236 ...", result
end
def test_strip_links
@ -165,7 +165,7 @@ class TextHelperTest < Test::Unit::TestCase
url = "http://api.rubyonrails.com/Foo.html"
email = "fantabulous@shiznadel.ic"
assert_equal %(<p><a href="#{url}">#{url[0..7]}...</a><br /><a href="mailto:#{email}">#{email[0..7]}...</a><br /></p>), auto_link("<p>#{url}<br />#{email}<br /></p>") { |url| truncate(url, 10) }
assert_equal %(<p><a href="#{url}">#{url[0...7]}...</a><br /><a href="mailto:#{email}">#{email[0...7]}...</a><br /></p>), auto_link("<p>#{url}<br />#{email}<br /></p>") { |url| truncate(url, 10) }
end
def test_sanitize_form