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*
|
*SVN*
|
||||||
|
|
||||||
|
* Fix column type detection while loading fixtures. Closes #7987 [roderickvd]
|
||||||
|
|
||||||
* Document deep eager includes. #6267 [Josh Susser, Dan Manges]
|
* 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]
|
* 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
|
klass = @class_name.constantize rescue nil
|
||||||
|
|
||||||
list = @fixture.inject([]) do |fixtures, (key, value)|
|
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")
|
fixtures << ActiveRecord::Base.connection.quote(value, col).gsub('[^\]\\n', "\n").gsub('[^\]\\r', "\r")
|
||||||
end
|
end
|
||||||
list * ', '
|
list * ', '
|
||||||
|
|
|
@ -12,13 +12,15 @@ class FixturesTest < Test::Unit::TestCase
|
||||||
self.use_instantiated_fixtures = true
|
self.use_instantiated_fixtures = true
|
||||||
self.use_transactional_fixtures = false
|
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
|
developers developers_projects entrants
|
||||||
movies projects subscribers topics tasks )
|
movies projects subscribers topics tasks )
|
||||||
MATCH_ATTRIBUTE_NAME = /[a-zA-Z][-_\w]*/
|
MATCH_ATTRIBUTE_NAME = /[a-zA-Z][-_\w]*/
|
||||||
|
|
||||||
|
BINARY_FIXTURE_PATH = File.dirname(__FILE__) + '/fixtures/flowers.jpg'
|
||||||
|
|
||||||
def test_clean_fixtures
|
def test_clean_fixtures
|
||||||
FIXTURES.each do |name|
|
FIXTURES.each do |name|
|
||||||
fixtures = nil
|
fixtures = nil
|
||||||
|
@ -100,7 +102,6 @@ class FixturesTest < Test::Unit::TestCase
|
||||||
assert first
|
assert first
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def test_bad_format
|
def test_bad_format
|
||||||
path = File.join(File.dirname(__FILE__), 'fixtures', 'bad_fixtures')
|
path = File.join(File.dirname(__FILE__), 'fixtures', 'bad_fixtures')
|
||||||
Dir.entries(path).each do |file|
|
Dir.entries(path).each do |file|
|
||||||
|
@ -174,7 +175,6 @@ class FixturesTest < Test::Unit::TestCase
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def test_yml_file_in_subdirectory
|
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).name, "A special category in a subdir file")
|
||||||
assert_equal(categories(:sub_special_1).class, SpecialCategory)
|
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)
|
assert_equal(categories(:sub_special_3).class, SpecialCategory)
|
||||||
end
|
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
|
end
|
||||||
|
|
||||||
if Account.connection.respond_to?(:reset_pk_sequence!)
|
if Account.connection.respond_to?(:reset_pk_sequence!)
|
||||||
|
|
Loading…
Reference in a new issue