aboutsummaryrefslogtreecommitdiffstats
path: root/spec/ruby/core/array/slice_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/array/slice_spec.rb')
-rw-r--r--spec/ruby/core/array/slice_spec.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/spec/ruby/core/array/slice_spec.rb b/spec/ruby/core/array/slice_spec.rb
index 3829794938..f416d8d0ce 100644
--- a/spec/ruby/core/array/slice_spec.rb
+++ b/spec/ruby/core/array/slice_spec.rb
@@ -163,6 +163,26 @@ describe "Array#slice!" do
a = [1, 2, 3]
a.slice!(eval("(2...)")).should == [3]
a.should == [1, 2]
+
+ a = [1, 2, 3]
+ a.slice!(eval("(-2..)")).should == [2, 3]
+ a.should == [1]
+
+ a = [1, 2, 3]
+ a.slice!(eval("(-1...)")).should == [3]
+ a.should == [1, 2]
+ end
+ end
+
+ ruby_version_is "2.7" do
+ it "works with beginless ranges" do
+ a = [0,1,2,3,4]
+ a.slice!(eval("(..3)")).should == [0, 1, 2, 3]
+ a.should == [4]
+
+ a = [0,1,2,3,4]
+ a.slice!(eval("(...-2)")).should == [0, 1, 2]
+ a.should == [3, 4]
end
end
end