diff options
author | Piotr Sarnacki <drogus@gmail.com> | 2012-05-18 12:47:55 -0700 |
---|---|---|
committer | Piotr Sarnacki <drogus@gmail.com> | 2012-05-19 05:20:25 -0700 |
commit | d64164645d435e22fdab8179481acb89827dfe68 (patch) | |
tree | 7c39acfc9224ce1bd937a6b7069eeff3445b72a0 /activerecord/test | |
parent | 4dd4621f5bb5500092e635e80e1b1cb1d888b6ec (diff) | |
download | rails-d64164645d435e22fdab8179481acb89827dfe68.tar.gz rails-d64164645d435e22fdab8179481acb89827dfe68.tar.bz2 rails-d64164645d435e22fdab8179481acb89827dfe68.zip |
Ensure that CollectionAssociation#replace returns proper target
The fix commited in e2a070c was returning the `new_target`, as
a try to return whatever user replaced association with. The
problem is, the resulting association target may be ordered
differently. In such case we want to return the target that
will be later used for that association.
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/associations/has_many_associations_test.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/activerecord/test/cases/associations/has_many_associations_test.rb b/activerecord/test/cases/associations/has_many_associations_test.rb index c128ede34f..4f50c97147 100644 --- a/activerecord/test/cases/associations/has_many_associations_test.rb +++ b/activerecord/test/cases/associations/has_many_associations_test.rb @@ -1687,14 +1687,14 @@ class HasManyAssociationsTest < ActiveRecord::TestCase assert_equal [bulb2], car.reload.bulbs end - def test_replace_returns_new_target + def test_replace_returns_target car = Car.create(:name => 'honda') bulb1 = car.bulbs.create bulb2 = car.bulbs.create bulb3 = Bulb.create assert_equal [bulb1, bulb2], car.bulbs - result = car.bulbs.replace([bulb1, bulb3]) + result = car.bulbs.replace([bulb3, bulb1]) assert_equal [bulb1, bulb3], car.bulbs assert_equal [bulb1, bulb3], result end |