summaryrefslogtreecommitdiff
path: root/spec/ruby/core/enumerable
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/enumerable')
-rw-r--r--spec/ruby/core/enumerable/all_spec.rb11
-rw-r--r--spec/ruby/core/enumerable/none_spec.rb11
-rw-r--r--spec/ruby/core/enumerable/one_spec.rb11
3 files changed, 32 insertions, 1 deletions
diff --git a/spec/ruby/core/enumerable/all_spec.rb b/spec/ruby/core/enumerable/all_spec.rb
index bfde584260..9e40315baa 100644
--- a/spec/ruby/core/enumerable/all_spec.rb
+++ b/spec/ruby/core/enumerable/all_spec.rb
@@ -54,10 +54,20 @@ describe "Enumerable#all?" do
end
it "gathers whole arrays as elements when each yields multiple" do
+ # This spec doesn't spec what it says it does
multi = EnumerableSpecs::YieldsMultiWithFalse.new
multi.all?.should be_true
end
+ ruby_version_is "2.5" do
+ describe "given a pattern argument" do
+ # This spec should be replaced by more extensive ones
+ it "returns true iff all match that pattern" do
+ @enum.all?(Integer).should == true
+ @enum2.all?(NilClass).should == false
+ end
+ end
+ end
end
describe "with block" do
@@ -116,6 +126,5 @@ describe "Enumerable#all?" do
multi.all? {|e, i| yielded << [e, i] }
yielded.should == [[1, 2], [3, 4], [6, 7]]
end
-
end
end
diff --git a/spec/ruby/core/enumerable/none_spec.rb b/spec/ruby/core/enumerable/none_spec.rb
index 0646c13b34..89472d6ee1 100644
--- a/spec/ruby/core/enumerable/none_spec.rb
+++ b/spec/ruby/core/enumerable/none_spec.rb
@@ -13,9 +13,20 @@ describe "Enumerable#none?" do
end
it "gathers whole arrays as elements when each yields multiple" do
+ # This spec doesn't spec what it says it does
multi = EnumerableSpecs::YieldsMultiWithFalse.new
multi.none?.should be_false
end
+
+ ruby_version_is "2.5" do
+ describe "given a pattern argument" do
+ # This spec should be replaced by more extensive ones
+ it "returns true iff none match that pattern" do
+ EnumerableSpecs::Numerous.new.none?(Float).should == true
+ [nil, false, true].none?(NilClass).should == false
+ end
+ end
+ end
end
describe "Enumerable#none? with a block" do
diff --git a/spec/ruby/core/enumerable/one_spec.rb b/spec/ruby/core/enumerable/one_spec.rb
index 818d4663a4..5f118e3323 100644
--- a/spec/ruby/core/enumerable/one_spec.rb
+++ b/spec/ruby/core/enumerable/one_spec.rb
@@ -16,6 +16,7 @@ describe "Enumerable#one?" do
end
it "gathers initial args as elements when each yields multiple" do
+ # This spec doesn't spec what it says it does
multi = EnumerableSpecs::YieldsMulti.new
multi.one? {|e| e == 1 }.should be_true
end
@@ -26,6 +27,16 @@ describe "Enumerable#one?" do
multi.one? {|e, i| yielded << [e, i] }
yielded.should == [[1, 2], [3, 4]]
end
+
+ ruby_version_is "2.5" do
+ describe "given a pattern argument" do
+ # This spec should be replaced by more extensive ones
+ it "returns true iff none match that pattern" do
+ EnumerableSpecs::Numerous.new.one?(Integer).should == false
+ [nil, false, true].one?(NilClass).should == true
+ end
+ end
+ end
end
describe "when not passed a block" do