summaryrefslogtreecommitdiff
path: root/spec/ruby/core/refinement/refined_class_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/refinement/refined_class_spec.rb')
-rw-r--r--spec/ruby/core/refinement/refined_class_spec.rb25
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