summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorKoichi Sasada <[email protected]>2024-08-09 16:43:02 +0900
committerKoichi Sasada <[email protected]>2024-08-13 12:17:56 +0900
commitd5afa2cc95710f34d5547efdcfc1562305248590 (patch)
tree26e9bc9ccb8b31c0d0c7e930961501997b56b0d5 /test
parenteedf6c35b306184c8c4a5811033294a8f08f703a (diff)
do not show unused block on `send`
Some case it is difficult to know the calling method uses a block or not with `send` on a general framework. So this patch stops showing unused block warning on `send`. example with test/unit: ```ruby require 'test/unit' class T < Test::Unit::TestCase def setup end def test_foo = nil end ``` => /home/ko1/ruby/install/master/lib/ruby/gems/3.4.0+0/gems/test-unit-3.6.2/lib/test/unit/fixture.rb:284: warning: the block passed to 'priority_setup' defined at /home/ko1/ruby/install/master/lib/ruby/gems/3.4.0+0/gems/test-unit-3.6.2/lib/test/unit/priority.rb:183 may be ignored because test/unit can call any setup method (`priority_setup` in this case) with a block. Maybe we can show the warning again when we provide a way to recognize the calling method uses a block or not.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/11349
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_method.rb12
1 files changed, 6 insertions, 6 deletions
diff --git a/test/ruby/test_method.rb b/test/ruby/test_method.rb
index 91f4b99181..a7945082c2 100644
--- a/test/ruby/test_method.rb
+++ b/test/ruby/test_method.rb
@@ -1645,15 +1645,15 @@ class TestMethod < Test::Unit::TestCase
assert_in_out_err '-w', <<-'RUBY' do |_out, err, _status|
def foo = nil
foo{} # warn
- send(:foo){} # warn
+ send(:foo){} # don't warn because it uses send
b = Proc.new{}
foo(&b) # warn
RUBY
- assert_equal 3, err.size
- err = err.join
- assert_match(/-:2: warning/, err)
- assert_match(/-:3: warning/, err)
- assert_match(/-:5: warning/, err)
+ errstr = err.join("\n")
+ assert_equal 2, err.size, errstr
+
+ assert_match(/-:2: warning/, errstr)
+ assert_match(/-:5: warning/, errstr)
end
assert_in_out_err '-w', <<-'RUBY' do |_out, err, _status|