aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activerecord/CHANGELOG2
-rwxr-xr-xactiverecord/lib/active_record/fixtures.rb2
-rwxr-xr-xactiverecord/test/fixtures_test.rb20
3 files changed, 23 insertions, 1 deletions
diff --git a/activerecord/CHANGELOG b/activerecord/CHANGELOG
index 4f8204821c..4bc7135995 100644
--- a/activerecord/CHANGELOG
+++ b/activerecord/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Added the possibility of specifying fixtures in multiple calls #816 [kim@tinker.com]
+
* Added Base.exists?(id) that'll return true if an object of the class with the given id exists #854 [stian@grytoyr.net]
* Added optionally allow for nil or empty strings with validates_numericality_of #801 [Sebastian Kanthak]
diff --git a/activerecord/lib/active_record/fixtures.rb b/activerecord/lib/active_record/fixtures.rb
index e1bfea2d07..6d3170f7bc 100755
--- a/activerecord/lib/active_record/fixtures.rb
+++ b/activerecord/lib/active_record/fixtures.rb
@@ -367,7 +367,7 @@ module Test #:nodoc:
self.use_instantiated_fixtures = true
def self.fixtures(*table_names)
- self.fixture_table_names = table_names.flatten
+ self.fixture_table_names |= table_names.flatten
require_fixture_classes
end
diff --git a/activerecord/test/fixtures_test.rb b/activerecord/test/fixtures_test.rb
index c83b4babf5..30acb945d1 100755
--- a/activerecord/test/fixtures_test.rb
+++ b/activerecord/test/fixtures_test.rb
@@ -136,3 +136,23 @@ class TransactionalFixturesTest < Test::Unit::TestCase
assert_not_nil @first
end
end
+
+
+class MultipleFixturesTest < Test::Unit::TestCase
+ fixtures :topics
+ fixtures :developers, :accounts
+
+ def test_fixture_table_names
+ assert_equal([:topics, :developers, :accounts], fixture_table_names)
+ end
+end
+
+
+class OverlappingFixturesTest < Test::Unit::TestCase
+ fixtures :topics, :developers
+ fixtures :developers, :accounts
+
+ def test_fixture_table_names
+ assert_equal([:topics, :developers, :accounts], fixture_table_names)
+ end
+end