diff options
author | Benoit Daloze <eregontp@gmail.com> | 2019-04-27 18:53:23 +0200 |
---|---|---|
committer | Benoit Daloze <eregontp@gmail.com> | 2019-04-27 18:53:23 +0200 |
commit | a1b4816759418ca8fe510e8739622fc5d77ab0f0 (patch) | |
tree | 9d4fb6091d0086817f5bde46bf1150e9130d34fd /spec/ruby/core/module | |
parent | 00c33d9c232ed1a79eda17acd7231ac93caa162b (diff) |
Update to ruby/spec@15c9619
Diffstat (limited to 'spec/ruby/core/module')
-rw-r--r-- | spec/ruby/core/module/include_spec.rb | 24 | ||||
-rw-r--r-- | spec/ruby/core/module/prepend_spec.rb | 24 | ||||
-rw-r--r-- | spec/ruby/core/module/private_spec.rb | 56 | ||||
-rw-r--r-- | spec/ruby/core/module/refine_spec.rb | 144 |
4 files changed, 78 insertions, 170 deletions
diff --git a/spec/ruby/core/module/include_spec.rb b/spec/ruby/core/module/include_spec.rb index 2a31afa59a..ece86bfe00 100644 --- a/spec/ruby/core/module/include_spec.rb +++ b/spec/ruby/core/module/include_spec.rb @@ -165,24 +165,12 @@ describe "Module#include" do }.should raise_error(ArgumentError) end - ruby_version_is ''...'2.4' do - it "accepts no-arguments" do - lambda { - Module.new do - include - end - }.should_not raise_error - end - end - - ruby_version_is '2.4' do - it "doesn't accept no-arguments" do - lambda { - Module.new do - include - end - }.should raise_error(ArgumentError) - end + it "doesn't accept no-arguments" do + lambda { + Module.new do + include + end + }.should raise_error(ArgumentError) end it "returns the class it's included into" do diff --git a/spec/ruby/core/module/prepend_spec.rb b/spec/ruby/core/module/prepend_spec.rb index ca80eb360f..b186381640 100644 --- a/spec/ruby/core/module/prepend_spec.rb +++ b/spec/ruby/core/module/prepend_spec.rb @@ -231,24 +231,12 @@ describe "Module#prepend" do }.should raise_error(ArgumentError) end - ruby_version_is ''...'2.4' do - it "accepts no-arguments" do - lambda { - Module.new do - prepend - end - }.should_not raise_error - end - end - - ruby_version_is '2.4' do - it "doesn't accept no-arguments" do - lambda { - Module.new do - prepend - end - }.should raise_error(ArgumentError) - end + it "doesn't accept no-arguments" do + lambda { + Module.new do + prepend + end + }.should raise_error(ArgumentError) end it "returns the class it's included into" do diff --git a/spec/ruby/core/module/private_spec.rb b/spec/ruby/core/module/private_spec.rb index d476c6f54e..5d85c34855 100644 --- a/spec/ruby/core/module/private_spec.rb +++ b/spec/ruby/core/module/private_spec.rb @@ -52,44 +52,42 @@ describe "Module#private" do end.should raise_error(NameError) end - ruby_bug "#14604", ""..."2.5.1" do - it "only makes the method private in the class it is called on" do - base = Class.new do - def wrapped - 1 - end + it "only makes the method private in the class it is called on" do + base = Class.new do + def wrapped + 1 end + end - klass = Class.new(base) do - def wrapped - super + 1 - end - private :wrapped + klass = Class.new(base) do + def wrapped + super + 1 end - - base.new.wrapped.should == 1 - lambda do - klass.new.wrapped - end.should raise_error(NameError) + private :wrapped end - it "continues to allow a prepended module method to call super" do - wrapper = Module.new do - def wrapped - super + 1 - end + base.new.wrapped.should == 1 + lambda do + klass.new.wrapped + end.should raise_error(NameError) + end + + it "continues to allow a prepended module method to call super" do + wrapper = Module.new do + def wrapped + super + 1 end + end - klass = Class.new do - prepend wrapper + klass = Class.new do + prepend wrapper - def wrapped - 1 - end - private :wrapped + def wrapped + 1 end - - klass.new.wrapped.should == 2 + private :wrapped end + + klass.new.wrapped.should == 2 end end diff --git a/spec/ruby/core/module/refine_spec.rb b/spec/ruby/core/module/refine_spec.rb index 4f34062343..7a1b2fc5fc 100644 --- a/spec/ruby/core/module/refine_spec.rb +++ b/spec/ruby/core/module/refine_spec.rb @@ -74,29 +74,17 @@ describe "Module#refine" do end.should raise_error(TypeError) end - ruby_version_is "" ... "2.4" do - it "raises TypeError if passed a module" do - lambda do - Module.new do - refine(Enumerable) {} - end - end.should raise_error(TypeError) - end - end - - ruby_version_is "2.4" do - it "accepts a module as argument" do - inner_self = nil - Module.new do - refine(Enumerable) do - def blah - end - inner_self = self + it "accepts a module as argument" do + inner_self = nil + Module.new do + refine(Enumerable) do + def blah end + inner_self = self end - - inner_self.public_instance_methods.should include(:blah) end + + inner_self.public_instance_methods.should include(:blah) end it "raises ArgumentError if not given a block" do @@ -319,108 +307,54 @@ describe "Module#refine" do end context "for methods accessed indirectly" do - ruby_version_is "" ... "2.4" do - it "is not honored by Kernel#send" do - refinement = Module.new do - refine ModuleSpecs::ClassWithFoo do - def foo; "foo from refinement"; end - end - end - - result = nil - Module.new do - using refinement - result = ModuleSpecs::ClassWithFoo.new.send :foo + it "is honored by Kernel#send" do + refinement = Module.new do + refine ModuleSpecs::ClassWithFoo do + def foo; "foo from refinement"; end end - - result.should == "foo" end - it "is not honored by BasicObject#__send__" do - refinement = Module.new do - refine ModuleSpecs::ClassWithFoo do - def foo; "foo from refinement"; end - end - end - - result = nil - Module.new do - using refinement - result = ModuleSpecs::ClassWithFoo.new.__send__ :foo - end - - result.should == "foo" + result = nil + Module.new do + using refinement + result = ModuleSpecs::ClassWithFoo.new.send :foo end - it "is not honored by Symbol#to_proc" do - refinement = Module.new do - refine Integer do - def to_s - "(#{super})" - end - end - end + result.should == "foo from refinement" + end - result = nil - Module.new do - using refinement - result = [1, 2, 3].map(&:to_s) + it "is honored by BasicObject#__send__" do + refinement = Module.new do + refine ModuleSpecs::ClassWithFoo do + def foo; "foo from refinement"; end end + end - result.should == ["1", "2", "3"] + result = nil + Module.new do + using refinement + result = ModuleSpecs::ClassWithFoo.new.__send__ :foo end + + result.should == "foo from refinement" end - ruby_version_is "2.4" do - it "is honored by Kernel#send" do - refinement = Module.new do - refine ModuleSpecs::ClassWithFoo do - def foo; "foo from refinement"; end + it "is honored by Symbol#to_proc" do + refinement = Module.new do + refine Integer do + def to_s + "(#{super})" end end - - result = nil - Module.new do - using refinement - result = ModuleSpecs::ClassWithFoo.new.send :foo - end - - result.should == "foo from refinement" end - it "is honored by BasicObject#__send__" do - refinement = Module.new do - refine ModuleSpecs::ClassWithFoo do - def foo; "foo from refinement"; end - end - end - - result = nil - Module.new do - using refinement - result = ModuleSpecs::ClassWithFoo.new.__send__ :foo - end - - result.should == "foo from refinement" + result = nil + Module.new do + using refinement + result = [1, 2, 3].map(&:to_s) end - it "is honored by Symbol#to_proc" do - refinement = Module.new do - refine Integer do - def to_s - "(#{super})" - end - end - end - - result = nil - Module.new do - using refinement - result = [1, 2, 3].map(&:to_s) - end - - result.should == ["(1)", "(2)", "(3)"] - end + result.should == ["(1)", "(2)", "(3)"] end ruby_version_is "" ... "2.6" do |