From df615f127ece4f712448ae5bd3e993ec378d8f7a Mon Sep 17 00:00:00 2001 From: Aaron Pfeifer Date: Mon, 7 Mar 2011 21:07:46 +0800 Subject: Allow access to a callback event's return result from around callbacks --- activesupport/test/callbacks_test.rb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'activesupport/test') diff --git a/activesupport/test/callbacks_test.rb b/activesupport/test/callbacks_test.rb index cff914f4ae..0b4cc4ac69 100644 --- a/activesupport/test/callbacks_test.rb +++ b/activesupport/test/callbacks_test.rb @@ -299,6 +299,22 @@ module CallbacksTest end end end + + class AroundPersonResult < MySuper + attr_reader :result + + set_callback :save, :around, :tweedle_dum + + def tweedle_dum + @result = yield + end + + def save + run_callbacks :save do + :running + end + end + end class HyphenatedCallbacks include ActiveSupport::Callbacks @@ -338,6 +354,14 @@ module CallbacksTest ], around.history end end + + class AroundCallbackResultTest < Test::Unit::TestCase + def test_save_around + around = AroundPersonResult.new + around.save + assert_equal :running, around.result + end + end class SkipCallbacksTest < Test::Unit::TestCase def test_skip_person -- cgit v1.2.3