diff options
author | Koichi Sasada <ko1@atdot.net> | 2020-01-28 13:58:01 +0900 |
---|---|---|
committer | Koichi Sasada <ko1@atdot.net> | 2020-01-28 15:23:51 +0900 |
commit | cc2fe6936c0e9b815d43a942d2bb7dff0363ccf6 (patch) | |
tree | ffe55c29efd0af9bc00edc1bc6d6e4fdce75af70 | |
parent | ac2b945bc0182859ea538dc6b02ad6945a5cf212 (diff) | |
download | ruby-cc2fe6936c0e9b815d43a942d2bb7dff0363ccf6.tar.gz |
support multi-run for test/ruby/test_method.rb
need to restore a method.
-rw-r--r-- | test/ruby/test_method.rb | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/test/ruby/test_method.rb b/test/ruby/test_method.rb index 7577a53b7a..dd163e104c 100644 --- a/test/ruby/test_method.rb +++ b/test/ruby/test_method.rb @@ -104,6 +104,12 @@ class TestMethod < Test::Unit::TestCase assert_raise(TypeError) do um.bind(Base.new) end + + # cleanup + Derived.class_eval do + remove_method :foo + def foo() :derived; end + end end def test_callee @@ -1102,17 +1108,26 @@ class TestMethod < Test::Unit::TestCase assert_equal([:bar, :foo], b.local_variables.sort, bug11012) end - class MethodInMethodClass - def m1 - def m2 - end + setup_for_test_method_in_method_visibility_should_be_public_proc = -> do + remove_const :MethodInMethodClass if defined? MethodInMethodClass - self.class.send(:define_method, :m3){} # [Bug #11754] + class MethodInMethodClass + def m1 + def m2 + end + self.class.send(:define_method, :m3){} # [Bug #11754] + end + private end - private + end + + define_method :setup_for_test_method_in_method_visibility_should_be_public do + setup_for_test_method_in_method_visibility_should_be_public_proc.call end def test_method_in_method_visibility_should_be_public + setup_for_test_method_in_method_visibility_should_be_public + assert_equal([:m1].sort, MethodInMethodClass.public_instance_methods(false).sort) assert_equal([].sort, MethodInMethodClass.private_instance_methods(false).sort) |