diff options
author | José Valim <jose.valim@gmail.com> | 2010-06-20 00:12:54 +0200 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-06-20 00:12:54 +0200 |
commit | 72725d7b7fefa1231cf63bddf8faa48a44f71295 (patch) | |
tree | 555d743b8ec704d2cf720d6807eac725d0d64176 /activerecord/test/cases/transaction_callbacks_test.rb | |
parent | 0247995d05b3cd3ff5fe32d5fbd8fdd866646909 (diff) | |
parent | 728b9eccad99d22028577e8b06433e8344b15d01 (diff) | |
download | rails-72725d7b7fefa1231cf63bddf8faa48a44f71295.tar.gz rails-72725d7b7fefa1231cf63bddf8faa48a44f71295.tar.bz2 rails-72725d7b7fefa1231cf63bddf8faa48a44f71295.zip |
Merge branch 'master' of github.com:rails/rails
Diffstat (limited to 'activerecord/test/cases/transaction_callbacks_test.rb')
-rw-r--r-- | activerecord/test/cases/transaction_callbacks_test.rb | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/activerecord/test/cases/transaction_callbacks_test.rb b/activerecord/test/cases/transaction_callbacks_test.rb index ebc16653cb..df123c9de8 100644 --- a/activerecord/test/cases/transaction_callbacks_test.rb +++ b/activerecord/test/cases/transaction_callbacks_test.rb @@ -221,20 +221,28 @@ class TransactionCallbacksTest < ActiveRecord::TestCase assert_equal 2, @first.rollbacks end - def test_after_transaction_callbacks_should_not_raise_errors + def test_after_transaction_callbacks_should_prevent_callbacks_from_being_called def @first.last_after_transaction_error=(e); @last_transaction_error = e; end def @first.last_after_transaction_error; @last_transaction_error; end @first.after_commit_block{|r| r.last_after_transaction_error = :commit; raise "fail!";} @first.after_rollback_block{|r| r.last_after_transaction_error = :rollback; raise "fail!";} + @second.after_commit_block{|r| r.history << :after_commit} + @second.after_rollback_block{|r| r.history << :after_rollback} - @first.save! + Topic.transaction do + @first.save! + @second.save! + end assert_equal :commit, @first.last_after_transaction_error + assert_equal [:after_commit], @second.history + @second.history.clear Topic.transaction do @first.save! + @second.save! raise ActiveRecord::Rollback end - assert_equal :rollback, @first.last_after_transaction_error + assert_equal [:after_rollback], @second.history end end |