aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/callback_inheritance_test.rb
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2011-03-16 18:54:51 +0000
committerJon Leighton <j@jonathanleighton.com>2011-03-16 18:54:51 +0000
commit8aaf3c1e553d18b40d9980951d496bffad56f37b (patch)
tree2eddd2b50a5924420b30caa5c6d867f4870a71dc /activesupport/test/callback_inheritance_test.rb
parent9abc94c44516afdcfe4a3b202c336c9578fd6d0d (diff)
parent0eae62525696b57fe7fc4bbb0bf9c0bc7ee4e480 (diff)
downloadrails-8aaf3c1e553d18b40d9980951d496bffad56f37b.tar.gz
rails-8aaf3c1e553d18b40d9980951d496bffad56f37b.tar.bz2
rails-8aaf3c1e553d18b40d9980951d496bffad56f37b.zip
Merge branch 'master' into nested_has_many_through
Diffstat (limited to 'activesupport/test/callback_inheritance_test.rb')
-rw-r--r--activesupport/test/callback_inheritance_test.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/activesupport/test/callback_inheritance_test.rb b/activesupport/test/callback_inheritance_test.rb
index 71249050fc..d569cbb4fb 100644
--- a/activesupport/test/callback_inheritance_test.rb
+++ b/activesupport/test/callback_inheritance_test.rb
@@ -82,6 +82,30 @@ class EmptyChild < EmptyParent
end
end
+class CountingParent
+ include ActiveSupport::Callbacks
+
+ attr_reader :count
+
+ define_callbacks :dispatch
+
+ def initialize
+ @count = 0
+ end
+
+ def count!
+ @count += 1
+ end
+
+ def dispatch
+ run_callbacks(:dispatch)
+ self
+ end
+end
+
+class CountingChild < CountingParent
+end
+
class BasicCallbacksTest < Test::Unit::TestCase
def setup
@index = GrandParent.new("index").dispatch
@@ -147,4 +171,10 @@ class DynamicInheritedCallbacks < Test::Unit::TestCase
child = EmptyChild.new.dispatch
assert child.performed?
end
+
+ def test_callbacks_should_be_performed_once_in_child_class
+ CountingParent.set_callback(:dispatch, :before) { count! }
+ child = CountingChild.new.dispatch
+ assert_equal 1, child.count
+ end
end