提交 842ce34b 编写于 作者: J Jeremy Kemper

Fixtures: correct escaping of \n and \r. Closes #5859.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4811 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
上级 d37604f0
*SVN*
* Fixtures: correct escaping of \n and \r. #5859 [evgeny.zislis@gmail.com]
* Migrations: gracefully handle missing migration files. #5857 [eli.gordon@gmail.com]
* MySQL: update test schema for MySQL 5 strict mode. #5861 [Tom Ward]
......
......@@ -396,7 +396,7 @@ def value_list
list = @fixture.inject([]) do |fixtures, (key, value)|
col = klass.columns_hash[key] if klass.kind_of?(ActiveRecord::Base)
fixtures << ActiveRecord::Base.connection.quote(value, col).gsub('\\n', "\n").gsub('\\r', "\r")
fixtures << ActiveRecord::Base.connection.quote(value, col).gsub('[^\]\\n', "\n").gsub('[^\]\\r', "\r")
end
list * ', '
end
......
......@@ -4,11 +4,7 @@ a_joke:
another_joke:
id: 2
name: The Aristocrats
a_joke:
id: 1
name: Knock knock
name: |
The \n Aristocrats
Ate the candy
another_joke:
id: 2
name: The Aristocrats
\ No newline at end of file
......@@ -344,6 +344,15 @@ def test_raises_error
end
end
class CheckEscapedYamlFixturesTest < Test::Unit::TestCase
set_fixture_class :funny_jokes => 'Joke'
fixtures :funny_jokes
def test_proper_escaped_fixture
assert_equal "The \\n Aristocrats\nAte the candy\n", funny_jokes(:another_joke).name
end
end
class DevelopersProject; end;
class ManyToManyFixturesWithClassDefined < Test::Unit::TestCase
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册