mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Fix column type detection while loading fixtures. Closes #7987 [roderickvd]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6798 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
d1c957d067
commit
96bc3d224d
3 changed files with 12 additions and 6 deletions
|
@ -1,5 +1,7 @@
|
|||
*SVN*
|
||||
|
||||
* Fix column type detection while loading fixtures. Closes #7987 [roderickvd]
|
||||
|
||||
* Document deep eager includes. #6267 [Josh Susser, Dan Manges]
|
||||
|
||||
* Document warning that associations names shouldn't be reserved words. #4378 [murphy@cYcnus.de, Josh Susser]
|
||||
|
|
|
@ -415,7 +415,7 @@ class Fixture #:nodoc:
|
|||
klass = @class_name.constantize rescue nil
|
||||
|
||||
list = @fixture.inject([]) do |fixtures, (key, value)|
|
||||
col = klass.columns_hash[key] if klass.kind_of?(ActiveRecord::Base)
|
||||
col = klass.columns_hash[key] if klass.respond_to?(:ancestors) && klass.ancestors.include?(ActiveRecord::Base)
|
||||
fixtures << ActiveRecord::Base.connection.quote(value, col).gsub('[^\]\\n', "\n").gsub('[^\]\\r', "\r")
|
||||
end
|
||||
list * ', '
|
||||
|
|
|
@ -12,13 +12,15 @@ class FixturesTest < Test::Unit::TestCase
|
|||
self.use_instantiated_fixtures = true
|
||||
self.use_transactional_fixtures = false
|
||||
|
||||
fixtures :topics, :developers, :accounts, :tasks, :categories, :funny_jokes
|
||||
fixtures :topics, :developers, :accounts, :tasks, :categories, :funny_jokes, :binaries
|
||||
|
||||
FIXTURES = %w( accounts companies customers
|
||||
FIXTURES = %w( accounts binaries companies customers
|
||||
developers developers_projects entrants
|
||||
movies projects subscribers topics tasks )
|
||||
MATCH_ATTRIBUTE_NAME = /[a-zA-Z][-_\w]*/
|
||||
|
||||
BINARY_FIXTURE_PATH = File.dirname(__FILE__) + '/fixtures/flowers.jpg'
|
||||
|
||||
def test_clean_fixtures
|
||||
FIXTURES.each do |name|
|
||||
fixtures = nil
|
||||
|
@ -100,7 +102,6 @@ class FixturesTest < Test::Unit::TestCase
|
|||
assert first
|
||||
end
|
||||
|
||||
|
||||
def test_bad_format
|
||||
path = File.join(File.dirname(__FILE__), 'fixtures', 'bad_fixtures')
|
||||
Dir.entries(path).each do |file|
|
||||
|
@ -174,7 +175,6 @@ class FixturesTest < Test::Unit::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
|
||||
def test_yml_file_in_subdirectory
|
||||
assert_equal(categories(:sub_special_1).name, "A special category in a subdir file")
|
||||
assert_equal(categories(:sub_special_1).class, SpecialCategory)
|
||||
|
@ -185,7 +185,11 @@ class FixturesTest < Test::Unit::TestCase
|
|||
assert_equal(categories(:sub_special_3).class, SpecialCategory)
|
||||
end
|
||||
|
||||
|
||||
def test_binary_in_fixtures
|
||||
assert_equal 1, @binaries.size
|
||||
data = File.read(BINARY_FIXTURE_PATH).freeze
|
||||
assert_equal data, @flowers.data
|
||||
end
|
||||
end
|
||||
|
||||
if Account.connection.respond_to?(:reset_pk_sequence!)
|
||||
|
|
Loading…
Reference in a new issue