summaryrefslogtreecommitdiff
path: root/spec/ruby/core/module
diff options
context:
space:
mode:
authorBenoit Daloze <eregontp@gmail.com>2019-04-27 18:53:23 +0200
committerBenoit Daloze <eregontp@gmail.com>2019-04-27 18:53:23 +0200
commita1b4816759418ca8fe510e8739622fc5d77ab0f0 (patch)
tree9d4fb6091d0086817f5bde46bf1150e9130d34fd /spec/ruby/core/module
parent00c33d9c232ed1a79eda17acd7231ac93caa162b (diff)
Update to ruby/spec@15c9619
Diffstat (limited to 'spec/ruby/core/module')
-rw-r--r--spec/ruby/core/module/include_spec.rb24
-rw-r--r--spec/ruby/core/module/prepend_spec.rb24
-rw-r--r--spec/ruby/core/module/private_spec.rb56
-rw-r--r--spec/ruby/core/module/refine_spec.rb144
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