aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2009-09-08 10:22:45 -0500
committerJoshua Peek <josh@joshpeek.com>2009-09-08 10:26:39 -0500
commit2ea1d684d93bd59887a9fd12e647941f0d1f4868 (patch)
tree808bb2e7a081c5010df134269e765d3b4c0a12b9 /activerecord/test/cases
parent4f37b97033f596ec2c95eb53e9964e051c224981 (diff)
downloadrails-2ea1d684d93bd59887a9fd12e647941f0d1f4868.tar.gz
rails-2ea1d684d93bd59887a9fd12e647941f0d1f4868.tar.bz2
rails-2ea1d684d93bd59887a9fd12e647941f0d1f4868.zip
Refactor new callbacks and AR implementation.
Signed-off-by: Joshua Peek <josh@joshpeek.com>
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r--activerecord/test/cases/callbacks_observers_test.rb3
-rw-r--r--activerecord/test/cases/callbacks_test.rb6
-rw-r--r--activerecord/test/cases/lifecycle_test.rb18
-rw-r--r--activerecord/test/cases/transactions_test.rb12
4 files changed, 10 insertions, 29 deletions
diff --git a/activerecord/test/cases/callbacks_observers_test.rb b/activerecord/test/cases/callbacks_observers_test.rb
index 87de524923..52ce384844 100644
--- a/activerecord/test/cases/callbacks_observers_test.rb
+++ b/activerecord/test/cases/callbacks_observers_test.rb
@@ -5,7 +5,7 @@ class Comment < ActiveRecord::Base
before_validation :record_callers
- def after_validation
+ after_validation do
record_callers
end
@@ -32,7 +32,6 @@ class CallbacksObserversTest < ActiveRecord::TestCase
CommentObserver.instance.callers = callers
comment.valid?
-
assert_equal [Comment, Comment, CommentObserver], callers, "model callbacks did not fire before observers were notified"
end
end
diff --git a/activerecord/test/cases/callbacks_test.rb b/activerecord/test/cases/callbacks_test.rb
index 092522b441..5a084a611e 100644
--- a/activerecord/test/cases/callbacks_test.rb
+++ b/activerecord/test/cases/callbacks_test.rb
@@ -18,11 +18,10 @@ class CallbackDeveloper < ActiveRecord::Base
end
end
- def callback_object(callback_symbol)
+ def callback_object(callback_method)
klass = Class.new
- callback_method = callback_symbol.to_s.split('_').first.to_sym
klass.send(:define_method, callback_method) do |model|
- model.history << [callback_symbol, :object]
+ model.history << [callback_method, :object]
end
klass.new
end
@@ -30,6 +29,7 @@ class CallbackDeveloper < ActiveRecord::Base
ActiveSupport::Deprecation.silence do
ActiveRecord::Callbacks::CALLBACKS.each do |callback_method|
+ next if callback_method.to_s =~ /^around_/
define_callback_method(callback_method)
send(callback_method, callback_string(callback_method))
send(callback_method, callback_proc(callback_method))
diff --git a/activerecord/test/cases/lifecycle_test.rb b/activerecord/test/cases/lifecycle_test.rb
index ebf2e87cd5..aa7ce2ecb6 100644
--- a/activerecord/test/cases/lifecycle_test.rb
+++ b/activerecord/test/cases/lifecycle_test.rb
@@ -4,8 +4,6 @@ require 'models/developer'
require 'models/reply'
require 'models/minimalistic'
-class Topic; def after_find() end end
-class Developer; def after_find() end end
class SpecialDeveloper < Developer; end
class TopicManualObserver
@@ -164,22 +162,6 @@ class LifecycleTest < ActiveRecord::TestCase
assert_equal topic, observer.topic
end
- def test_after_find_is_not_clobbered_if_it_already_exists
- # use a fresh observer class so we can instantiate it (Observer is
- # a Singleton)
- model_class = Class.new(ActiveRecord::Base) do
- def after_find; end
- end
- original_method = model_class.instance_method(:after_find)
- observer_class = Class.new(ActiveRecord::Observer) do
- def after_find; end
- end
- observer_class.observe(model_class)
-
- observer = observer_class.instance
- assert_equal original_method, model_class.instance_method(:after_find)
- end
-
def test_invalid_observer
assert_raise(ArgumentError) { Topic.observers = Object.new; Topic.instantiate_observers }
end
diff --git a/activerecord/test/cases/transactions_test.rb b/activerecord/test/cases/transactions_test.rb
index 66baf1008a..aca70b4238 100644
--- a/activerecord/test/cases/transactions_test.rb
+++ b/activerecord/test/cases/transactions_test.rb
@@ -382,28 +382,28 @@ class TransactionTest < ActiveRecord::TestCase
private
def add_exception_raising_after_save_callback_to_topic
- Topic.class_eval "def after_save; raise 'Make the transaction rollback' end"
+ Topic.class_eval "def after_save_for_transaction; raise 'Make the transaction rollback' end"
end
def remove_exception_raising_after_save_callback_to_topic
- Topic.class_eval "def after_save; end"
+ Topic.class_eval "def after_save_for_transaction; end"
end
def add_exception_raising_after_create_callback_to_topic
- Topic.class_eval "def after_create; raise 'Make the transaction rollback' end"
+ Topic.class_eval "def after_create_for_transaction; raise 'Make the transaction rollback' end"
end
def remove_exception_raising_after_create_callback_to_topic
- Topic.class_eval "def after_create; end"
+ Topic.class_eval "def after_create_for_transaction; end"
end
%w(validation save destroy).each do |filter|
define_method("add_cancelling_before_#{filter}_with_db_side_effect_to_topic") do
- Topic.class_eval "def before_#{filter}() Book.create; false end"
+ Topic.class_eval "def before_#{filter}_for_transaction() Book.create; false end"
end
define_method("remove_cancelling_before_#{filter}_with_db_side_effect_to_topic") do
- Topic.class_eval "def before_#{filter}; end"
+ Topic.class_eval "def before_#{filter}_for_transaction; end"
end
end
end