From 713279550ad33836e5d7bbbb5b801aa13def24dc Mon Sep 17 00:00:00 2001 From: eregon Date: Thu, 7 Feb 2019 16:40:27 +0000 Subject: [PATCH] Fix specs for yield in singleton class being deprecated * Use eval to trigger warning only when the method is called. * Suppress warnings and clarify this will be removed in 3.0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- spec/ruby/fixtures/class.rb | 2 ++ spec/ruby/language/class_spec.rb | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/spec/ruby/fixtures/class.rb b/spec/ruby/fixtures/class.rb index 9609eb6f3c..d2ae14ecb7 100644 --- a/spec/ruby/fixtures/class.rb +++ b/spec/ruby/fixtures/class.rb @@ -1,9 +1,11 @@ module ClassSpecs def self.sclass_with_block + eval <<-RUBY class << self yield end + RUBY end def self.sclass_with_return diff --git a/spec/ruby/language/class_spec.rb b/spec/ruby/language/class_spec.rb index a91b165ffe..41a9c0f189 100644 --- a/spec/ruby/language/class_spec.rb +++ b/spec/ruby/language/class_spec.rb @@ -285,8 +285,12 @@ describe "A class definition extending an object (sclass)" do }.should raise_error(TypeError) end - it "allows accessing the block of the original scope" do - ClassSpecs.sclass_with_block { 123 }.should == 123 + ruby_version_is ""..."3.0" do + it "allows accessing the block of the original scope" do + suppress_warning do + ClassSpecs.sclass_with_block { 123 }.should == 123 + end + end end it "can use return to cause the enclosing method to return" do