diff options
author | Jeremy Evans <code@jeremyevans.net> | 2021-12-27 11:38:12 -0800 |
---|---|---|
committer | Jeremy Evans <code@jeremyevans.net> | 2022-01-05 10:59:03 -0800 |
commit | 791343b5bb1b8bb11de4ba2800118c20e36b5a71 (patch) | |
tree | fb559494483362cd38735ecc7a2644435000e32c /spec/ruby/core/refinement/prepend_features_spec.rb | |
parent | f22296d27e9be616a16f9befd2f7c9c2d2f972c3 (diff) |
Remove Refinement#{extend_object,append_features,prepend_features}
Also make include, prepend, and extend raise a TypeError if one
of the modules is a refinement.
Implements [Feature #18270]
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/5358
Diffstat (limited to 'spec/ruby/core/refinement/prepend_features_spec.rb')
-rw-r--r-- | spec/ruby/core/refinement/prepend_features_spec.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/ruby/core/refinement/prepend_features_spec.rb b/spec/ruby/core/refinement/prepend_features_spec.rb new file mode 100644 index 0000000000..9fdea199a2 --- /dev/null +++ b/spec/ruby/core/refinement/prepend_features_spec.rb @@ -0,0 +1,21 @@ +require_relative '../../spec_helper' + +describe "Refinement#prepend_features" do + ruby_version_is "3.2" do + it "is not defined" do + Refinement.should_not have_private_instance_method(:prepend_features) + end + + it "is not called by Module#prepend" do + c = Class.new + Module.new do + refine c do + called = false + define_method(:prepend_features){called = true} + proc{c.prepend(self)}.should raise_error(TypeError) + called.should == false + end + end + end + end +end |