Skip to content

Commit a1d6037

Browse files
ccocchieregon
authored andcommitted
Specialize slice node
1 parent 5185a7a commit a1d6037

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

core/array/shared/slice.rb

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -743,6 +743,22 @@ def to.to_int() -2 end
743743
@array.send(@method, eval("(-2..-4).step(10)")).should == []
744744
@array.send(@method, eval("(-2...-4).step(10)")).should == []
745745
end
746+
747+
it "foos" do
748+
@array.send(@method, eval("(0..6).step(1)")).should == [0, 1, 2, 3, 4, 5]
749+
-> { @array.send(@method, eval("(0..6).step(2)")) }.should raise_error(RangeError, /out of range/)
750+
751+
@array.send(@method, eval("(1..6).step(2)")).should == [1, 3, 5]
752+
@array.send(@method, eval("(2..7).step(2)")).should == [2, 4]
753+
-> { @array.send(@method, eval("(2..8).step(2)")) }.should raise_error(RangeError, /out of range/)
754+
755+
@array.send(@method, eval("(6..1).step(-2)")).should == [5, 3, 1]
756+
@array.send(@method, eval("(7..2).step(-2)")).should == [5, 3]
757+
-> { @array.send(@method, eval("(8..2).step(-2)")) }.should raise_error(RangeError, /out of range/)
758+
759+
@array.send(@method, eval("(6..).step(1)")).should == []
760+
@array.send(@method, eval("(7..).step(1)")).should == nil
761+
end
746762
end
747763
end
748764

0 commit comments

Comments
 (0)