Fixed that the truncation of strings longer than 50 chars should use inspect so newlines etc are escaped (closes #10385) [norbert]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8319 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
David Heinemeier Hansson
2007-12-06 00:01:11 +00:00
parent 8f24701ae1
commit e16ecaf84c
3 changed files with 6 additions and 4 deletions

View File

@@ -1,5 +1,7 @@
*SVN*
* Fixed that the truncation of strings longer than 50 chars should use inspect so newlines etc are escaped #10385 [norbert]
* Fixed that habtm associations should be able to set :select as part of their definition and have that honored [DHH]
* Document how the :include option can be used in Calculations::calculate. Closes #7446 [adamwiggins, ultimoamore]

View File

@@ -2079,7 +2079,7 @@ module ActiveRecord #:nodoc:
value = read_attribute(attr_name)
if value.is_a?(String) && value.length > 50
%("#{value[0..50]}...")
"#{value[0..50]}...".inspect
elsif value.is_a?(Date) || value.is_a?(Time)
%("#{value.to_s(:db)}")
else

View File

@@ -1732,14 +1732,14 @@ class BasicsTest < Test::Unit::TestCase
def test_attribute_for_inspect
t = topics(:first)
t.content = %(This is some really long content, longer than 50 characters, so I can test that text is truncated correctly by the new ActiveRecord::Base#inspect method! Yay! BOOM!)
t.title = "The First Topic Now Has A Title With\nNewlines And More Than 50 Characters"
assert_equal %("#{t.written_on.to_s(:db)}"), t.attribute_for_inspect(:written_on)
assert_equal '"This is some really long content, longer than 50 ch..."', t.attribute_for_inspect(:content)
assert_equal '"The First Topic Now Has A Title With\nNewlines And M..."', t.attribute_for_inspect(:title)
end
def test_becomes
assert_kind_of Reply, topics(:first).becomes(Reply)
assert_equal "The First Topic", topics(:first).becomes(Reply).title
end
end
end