diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-09-20 23:14:34 -0300 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-09-20 23:14:35 -0300 |
commit | a507c641ec78ab8781b18c42a75ccad75362af8e (patch) | |
tree | e91e84acde8b0dbdd67d8ec5251a1cf1b779e0a1 /activerecord/test/cases | |
parent | ed05e922395d6aecbbcf26ce031477042ef9c7db (diff) | |
download | rails-a507c641ec78ab8781b18c42a75ccad75362af8e.tar.gz rails-a507c641ec78ab8781b18c42a75ccad75362af8e.tar.bz2 rails-a507c641ec78ab8781b18c42a75ccad75362af8e.zip |
Get rid of global variable in AR transactions test
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/transactions_test.rb | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/activerecord/test/cases/transactions_test.rb b/activerecord/test/cases/transactions_test.rb index 0b5fda3817..bb4f2c8064 100644 --- a/activerecord/test/cases/transactions_test.rb +++ b/activerecord/test/cases/transactions_test.rb @@ -36,24 +36,24 @@ class TransactionTest < ActiveRecord::TestCase end end - # FIXME: Get rid of this fucking global variable! def test_successful_with_return - class << Topic.connection + committed = false + + Topic.connection.class_eval do alias :real_commit_db_transaction :commit_db_transaction - def commit_db_transaction - $committed = true + define_method(:commit_db_transaction) do + committed = true real_commit_db_transaction end end - $committed = false transaction_with_return - assert $committed + assert committed assert Topic.find(1).approved?, "First should have been approved" assert !Topic.find(2).approved?, "Second should have been unapproved" ensure - class << Topic.connection + Topic.connection.class_eval do remove_method :commit_db_transaction alias :commit_db_transaction :real_commit_db_transaction rescue nil end |