aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/test
diff options
context:
space:
mode:
authorMarc-Andre Lafortune <github@marc-andre.ca>2012-04-29 00:51:56 -0400
committerMarc-Andre Lafortune <github@marc-andre.ca>2012-04-29 00:51:56 -0400
commit569fb1fffb216ad96721fe1f5d706535e9920154 (patch)
treee7145e60e436a92059be03263676292af0bc8aac /activemodel/test
parent85c056cc1f82ebbf795cdd70b9068ab50513e5d5 (diff)
downloadrails-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.rb15
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)