diff options
Diffstat (limited to 'spec/ruby/core/refinement/refined_class_spec.rb')
| -rw-r--r-- | spec/ruby/core/refinement/refined_class_spec.rb | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/spec/ruby/core/refinement/refined_class_spec.rb b/spec/ruby/core/refinement/refined_class_spec.rb index 00b65d0895..b532d9a773 100644 --- a/spec/ruby/core/refinement/refined_class_spec.rb +++ b/spec/ruby/core/refinement/refined_class_spec.rb @@ -1,8 +1,9 @@ -require_relative '../../spec_helper' +require_relative "../../spec_helper" +require_relative 'shared/target' describe "Refinement#refined_class" do - ruby_version_is "3.2"..."3.3" do - it "returns the class refined by the receiver" do + ruby_version_is ""..."3.4" do + it "has been deprecated in favour of Refinement#target" do refinement_int = nil Module.new do @@ -11,7 +12,23 @@ describe "Refinement#refined_class" do end end - refinement_int.refined_class.should == Integer + -> { + refinement_int.refined_class + }.should complain(/warning: Refinement#refined_class is deprecated and will be removed in Ruby 3.4; use Refinement#target instead/) + end + end + + ruby_version_is "3.4" do + it "has been removed" do + refinement_int = nil + + Module.new do + refine Integer do + refinement_int = self + end + end + + refinement_int.should_not.respond_to?(:refined_class) end end end |
