diff options
author | Emilio Tagua <miloops@gmail.com> | 2009-09-08 15:39:33 -0300 |
---|---|---|
committer | Emilio Tagua <miloops@gmail.com> | 2009-09-08 15:39:33 -0300 |
commit | 0489f0c582d2ab70595296f058545b102466bebd (patch) | |
tree | 159a85dda7bdb652c93cc05a7ab422283c9f3035 /activerecord/test/cases/lifecycle_test.rb | |
parent | 670281c6b2e9b9e8c51a140f2a5f66b251f1b84b (diff) | |
parent | af5b12c64c878f08336d38e91cc64137a30fb8da (diff) | |
download | rails-0489f0c582d2ab70595296f058545b102466bebd.tar.gz rails-0489f0c582d2ab70595296f058545b102466bebd.tar.bz2 rails-0489f0c582d2ab70595296f058545b102466bebd.zip |
Merge commit 'rails/master'
Diffstat (limited to 'activerecord/test/cases/lifecycle_test.rb')
-rw-r--r-- | activerecord/test/cases/lifecycle_test.rb | 37 |
1 files changed, 6 insertions, 31 deletions
diff --git a/activerecord/test/cases/lifecycle_test.rb b/activerecord/test/cases/lifecycle_test.rb index 54fb3d8c39..aa7ce2ecb6 100644 --- a/activerecord/test/cases/lifecycle_test.rb +++ b/activerecord/test/cases/lifecycle_test.rb @@ -1,11 +1,9 @@ -require "cases/helper" +require 'cases/helper' require 'models/topic' 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 @@ -43,6 +41,11 @@ class TopicObserver < ActiveRecord::Observer def after_find(topic) @topic = topic end + + # Create an after_save callback, so a notify_observer hook is created + # on :topic. + def after_save(nothing) + end end class MinimalisticObserver < ActiveRecord::Observer @@ -159,34 +162,6 @@ class LifecycleTest < ActiveRecord::TestCase assert_equal topic, observer.topic end - def test_after_find_is_not_created_if_its_not_used - # use a fresh class so an observer can't have defined an - # after_find on it - model_class = Class.new(ActiveRecord::Base) - observer_class = Class.new(ActiveRecord::Observer) - observer_class.observe(model_class) - - observer = observer_class.instance - - assert !model_class.method_defined?(:after_find) - 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 |