diff options
Diffstat (limited to 'spec/ruby/core/module/refine_spec.rb')
-rw-r--r-- | spec/ruby/core/module/refine_spec.rb | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/spec/ruby/core/module/refine_spec.rb b/spec/ruby/core/module/refine_spec.rb index b54d83075f..ca7db0c2b6 100644 --- a/spec/ruby/core/module/refine_spec.rb +++ b/spec/ruby/core/module/refine_spec.rb @@ -320,7 +320,7 @@ describe "Module#refine" do result.should == "foo from subclass" end - context "for methods accesses indirectly" do + context "for methods accessed indirectly" do ruby_version_is "" ... "2.4" do it "is not honored by Kernel#send" do refinement = Module.new do @@ -425,6 +425,46 @@ describe "Module#refine" do end end + ruby_version_is "" ... "2.5" do + it "is not honored by string interpolation" do + refinement = Module.new do + refine Integer do + def to_s + "foo" + end + end + end + + result = nil + Module.new do + using refinement + result = "#{1}" + end + + result.should == "1" + end + end + + ruby_version_is "2.5" do + it "is honored by string interpolation" do + refinement = Module.new do + refine Integer do + def to_s + "foo" + end + end + end + + result = nil + Module.new do + using refinement + result = "#{1}" + end + + result.should == "foo" + end + end + it "is honored by Kernel#binding" do refinement = Module.new do refine String do |