Skip to content

Commit 9d58f70

Browse files
committed
add spec for Array can be sliced with Enumerator::ArithmeticSequence
1 parent 6b0a66e commit 9d58f70

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

core/array/shared/slice.rb

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -533,6 +533,25 @@ def to.to_int() -2 end
533533
a.send(@method, eval("(-9...)")).should == nil
534534
end
535535

536+
ruby_version_is "3.0" do
537+
it "can be sliced with Enumerator::ArithmeticSequence" do
538+
a = [0, 1, 2, 3, 4, 5]
539+
a.send(@method, eval("(0..).step(2)")).should == [0, 2, 4]
540+
a.send(@method, eval("(0..).step(3)")).should == [0, 3]
541+
a.send(@method, eval("(0..).step(10)")).should == [0]
542+
a.send(@method, eval("(0..1).step(2)")).should == [0]
543+
a.send(@method, eval("(..0).step(1)")).should == [0]
544+
a.send(@method, eval("(...0).step(1)")).should == []
545+
a.send(@method, eval("(2..).step(2)")).should == [2, 4]
546+
a.send(@method, eval("(2..-2).step(2)")).should == [2, 4]
547+
a.send(@method, eval("(2...-2).step(2)")).should == [2]
548+
a.send(@method, eval("(2..).step(-2)")).should == [2, 0]
549+
a.send(@method, eval("(2..).step(-3)")).should == [2]
550+
a.send(@method, eval("(..-2).step(2)")).should == [0, 2, 4]
551+
a.send(@method, eval("(...-2).step(2)")).should == [0, 2]
552+
end
553+
end
554+
536555
ruby_version_is "2.7" do
537556
it "can accept beginless ranges" do
538557
a = [0, 1, 2, 3, 4, 5]

0 commit comments

Comments
 (0)