diff options
author | Marc-Andre Lafortune <github@marc-andre.ca> | 2012-04-29 00:51:56 -0400 |
---|---|---|
committer | Marc-Andre Lafortune <github@marc-andre.ca> | 2012-04-29 00:51:56 -0400 |
commit | 569fb1fffb216ad96721fe1f5d706535e9920154 (patch) | |
tree | e7145e60e436a92059be03263676292af0bc8aac /activemodel/test | |
parent | 85c056cc1f82ebbf795cdd70b9068ab50513e5d5 (diff) | |
download | rails-569fb1fffb216ad96721fe1f5d706535e9920154.tar.gz rails-569fb1fffb216ad96721fe1f5d706535e9920154.tar.bz2 rails-569fb1fffb216ad96721fe1f5d706535e9920154.zip |
Generate appropriate error more judiciously
Diffstat (limited to 'activemodel/test')
-rw-r--r-- | activemodel/test/cases/observing_test.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/activemodel/test/cases/observing_test.rb b/activemodel/test/cases/observing_test.rb index df070d2d8e..1a80b5d854 100644 --- a/activemodel/test/cases/observing_test.rb +++ b/activemodel/test/cases/observing_test.rb @@ -70,6 +70,21 @@ class ObservingTest < ActiveModel::TestCase ObservedModel.instantiate_observers end + test "raises an appropriate error when a developer accidentally adds the wrong class (i.e. Widget instead of WidgetObserver)" do + assert_raise ArgumentError do + ObservedModel.observers = ['string'] + ObservedModel.instantiate_observers + end + assert_raise ArgumentError do + ObservedModel.observers = [:string] + ObservedModel.instantiate_observers + end + assert_raise ArgumentError do + ObservedModel.observers = [String] + ObservedModel.instantiate_observers + end + end + test "passes observers to subclasses" do FooObserver.instance bar = Class.new(Foo) |