aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test
diff options
context:
space:
mode:
Diffstat (limited to 'activesupport/test')
-rw-r--r--activesupport/test/core_ext/module_test.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/activesupport/test/core_ext/module_test.rb b/activesupport/test/core_ext/module_test.rb
index 9d86c84e21..bbf6dd1640 100644
--- a/activesupport/test/core_ext/module_test.rb
+++ b/activesupport/test/core_ext/module_test.rb
@@ -100,9 +100,12 @@ end
module BarMethodAliaser
def self.included(foo_class)
+ foo_class.send :include, BarMethods
foo_class.alias_method_chain :bar, :baz
end
+end
+module BarMethods
def bar_with_baz
bar_without_baz << '_with_baz'
end
@@ -203,4 +206,16 @@ class MethodAliasingTest < Test::Unit::TestCase
FooClassWithBarMethod.alias_method_chain :quux?, :baz!
end
end
+
+ def test_alias_method_chain_yields_target_and_punctuation
+ FooClassWithBarMethod.send(:define_method, :quux?, Proc.new { })
+ FooClassWithBarMethod.send :include, BarMethods
+ block_called = false
+ FooClassWithBarMethod.alias_method_chain :quux?, :baz do |target, punctuation|
+ block_called = true
+ assert_equal 'quux', target
+ assert_equal '?', punctuation
+ end
+ assert block_called
+ end
end