aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activerecord/lib/active_record/fixtures/file.rb5
-rw-r--r--activerecord/test/cases/fixtures/file_test.rb6
-rw-r--r--activerecord/test/fixtures/categories_ordered.yml2
3 files changed, 9 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/fixtures/file.rb b/activerecord/lib/active_record/fixtures/file.rb
index da07cf5da1..04f494db2c 100644
--- a/activerecord/lib/active_record/fixtures/file.rb
+++ b/activerecord/lib/active_record/fixtures/file.rb
@@ -43,7 +43,10 @@ module ActiveRecord
# Validate our unmarshalled data.
def validate(data)
- raise Fixture::FormatError, 'fixture is not a hash' unless Hash === data
+ unless Hash === data || YAML::Omap === data
+ raise Fixture::FormatError, 'fixture is not a hash'
+ end
+
raise Fixture::FormatError unless data.all? { |name, row| Hash === row }
data
end
diff --git a/activerecord/test/cases/fixtures/file_test.rb b/activerecord/test/cases/fixtures/file_test.rb
index 174f41f412..8dbf92ae9a 100644
--- a/activerecord/test/cases/fixtures/file_test.rb
+++ b/activerecord/test/cases/fixtures/file_test.rb
@@ -25,13 +25,15 @@ module ActiveRecord
"rails_core_account",
"last_account",
"rails_core_account_2",
- "odegy_account"], fh.to_a.map(&:first)
+ "odegy_account"].sort, fh.to_a.map(&:first).sort
end
end
def test_values
File.open(::File.join(FIXTURES_ROOT, "accounts.yml")) do |fh|
- assert_equal [1,2,3,4,5,6], fh.to_a.map(&:last).map { |x| x['id'] }
+ assert_equal [1,2,3,4,5,6].sort, fh.to_a.map(&:last).map { |x|
+ x['id']
+ }.sort
end
end
diff --git a/activerecord/test/fixtures/categories_ordered.yml b/activerecord/test/fixtures/categories_ordered.yml
index 2afc6cb5a9..294a6368d6 100644
--- a/activerecord/test/fixtures/categories_ordered.yml
+++ b/activerecord/test/fixtures/categories_ordered.yml
@@ -1,4 +1,4 @@
---- !!omap
+--- !omap
<% 100.times do |i| %>
- fixture_no_<%= i %>:
id: <%= i %>