From 8dfae85adb96cf3da84bf38f2103969d4a7aed3f Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Sat, 23 Jan 2021 19:57:07 +0900 Subject: Warn the defined location as deprecation as well as the main message [Bug #17575] --- test/ruby/test_defined.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/test_defined.rb b/test/ruby/test_defined.rb index b22db700da..73c192a0ae 100644 --- a/test/ruby/test_defined.rb +++ b/test/ruby/test_defined.rb @@ -258,6 +258,23 @@ class TestDefined < Test::Unit::TestCase assert_separately([], "assert_nil(defined?(super))") end + def test_respond_to + obj = "#{self.class.name}##{__method__}" + class << obj + def respond_to?(mid) + true + end + end + assert_warn(/deprecated method signature.*\n.*respond_to\? is defined here/) do + Warning[:deprecated] = true + defined?(obj.foo) + end + assert_warn('') do + Warning[:deprecated] = false + defined?(obj.foo) + end + end + class ExampleRespondToMissing attr_reader :called -- cgit v1.2.3