1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
eregon 2018-02-27 20:21:25 +00:00
parent ecf03376ec
commit 37ef87c12b
38 changed files with 185 additions and 177 deletions

View file

@ -10,8 +10,7 @@ describe "Array#clear" do
it "returns self" do
a = [1]
oid = a.object_id
a.clear.object_id.should == oid
a.should equal a.clear
end
it "leaves the Array empty" do

View file

@ -50,7 +50,7 @@ describe "Array#compact!" do
it "returns self if some nil elements are removed" do
a = ['a', nil, 'b', false, 'c']
a.compact!.object_id.should == a.object_id
a.compact!.should equal a
end
it "returns nil if there are no nil elements to remove" do

View file

@ -1,14 +1,16 @@
require File.expand_path('../../../spec_helper', __FILE__)
require File.expand_path('../shared/select', __FILE__)
describe "Array#filter" do
it_behaves_like :array_select, :filter
end
describe "Array#filter!" do
it "returns nil if no changes were made in the array" do
[1, 2, 3].filter! { true }.should be_nil
ruby_version_is "2.6" do
describe "Array#filter" do
it_behaves_like :array_select, :filter
end
it_behaves_like :keep_if, :filter!
describe "Array#filter!" do
it "returns nil if no changes were made in the array" do
[1, 2, 3].filter! { true }.should be_nil
end
it_behaves_like :keep_if, :filter!
end
end

View file

@ -9,9 +9,9 @@ describe "Array#reject" do
ary = [1, 2, 3, 4, 5]
ary.reject { true }.should == []
ary.reject { false }.should == ary
ary.reject { false }.object_id.should_not == ary.object_id
ary.reject { false }.should_not equal ary
ary.reject { nil }.should == ary
ary.reject { nil }.object_id.should_not == ary.object_id
ary.reject { nil }.should_not equal ary
ary.reject { 5 }.should == []
ary.reject { |i| i < 3 }.should == [3, 4, 5]
ary.reject { |i| i % 2 == 0 }.should == [1, 3, 5]

View file

@ -7,8 +7,8 @@ describe :array_clone, shared: true do
it "produces a shallow copy where the references are directly copied" do
a = [mock('1'), mock('2')]
b = a.send @method
b.first.object_id.should == a.first.object_id
b.last.object_id.should == a.last.object_id
b.first.should equal a.first
b.last.should equal a.last
end
it "creates a new array containing all elements or the original" do

View file

@ -5,7 +5,7 @@ describe :array_collect, shared: true do
a = ['a', 'b', 'c', 'd']
b = a.send(@method) { |i| i + '!' }
b.should == ["a!", "b!", "c!", "d!"]
b.object_id.should_not == a.object_id
b.should_not equal a
end
it "does not return subclass instance" do
@ -70,7 +70,7 @@ describe :array_collect_b, shared: true do
it "returns self" do
a = [1, 2, 3, 4, 5]
b = a.send(@method) {|i| i+1 }
a.object_id.should == b.object_id
a.should equal b
end
it "returns the evaluated value of block but its contents is partially modified, if it broke in the block" do