summaryrefslogtreecommitdiffhomepage
path: root/test/t/array.rb
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-04-07 22:12:33 +0900
committerGitHub <[email protected]>2019-04-07 22:12:33 +0900
commit2595d5f6c8b8d5f325b57bddb0683ddca7bba0e9 (patch)
treeeb2256b1364232bd263fdd88b44b1a6163aa000a /test/t/array.rb
parent6865826affb3f46f5307bfdde0340b90e6a2cf1f (diff)
parentf65b35dc9f5428e7d07b304c01c7836d5be7ec52 (diff)
downloadmruby-2595d5f6c8b8d5f325b57bddb0683ddca7bba0e9.tar.gz
mruby-2595d5f6c8b8d5f325b57bddb0683ddca7bba0e9.zip
Merge pull request #4364 from shuujii/fix-test-for-Array-slice
Fix test for `Array#slice`
Diffstat (limited to 'test/t/array.rb')
-rw-r--r--test/t/array.rb37
1 files changed, 32 insertions, 5 deletions
diff --git a/test/t/array.rb b/test/t/array.rb
index 2b19fe0d4..3df99056f 100644
--- a/test/t/array.rb
+++ b/test/t/array.rb
@@ -298,11 +298,38 @@ assert('Array#size', '15.2.12.5.28') do
end
assert('Array#slice', '15.2.12.5.29') do
- a = "12345".slice(1, 3)
- b = a.slice(0)
-
- assert_equal("2:", "#{b}:")
- assert_equal(2, [1,2,3].[](1))
+ a = [*(1..100)]
+ b = a.dup
+
+ assert_equal(1, a.slice(0))
+ assert_equal(100, a.slice(99))
+ assert_nil(a.slice(100))
+ assert_equal(100, a.slice(-1))
+ assert_equal(99, a.slice(-2))
+ assert_equal(1, a.slice(-100))
+ assert_nil(a.slice(-101))
+ assert_equal([1], a.slice(0,1))
+ assert_equal([100], a.slice(99,1))
+ assert_equal([], a.slice(100,1))
+ assert_equal([100], a.slice(99,100))
+ assert_equal([100], a.slice(-1,1))
+ assert_equal([99], a.slice(-2,1))
+ assert_equal([10, 11, 12], a.slice(9, 3))
+ assert_equal([10, 11, 12], a.slice(-91, 3))
+ assert_nil(a.slice(-101, 2))
+ assert_equal([1], a.slice(0..0))
+ assert_equal([100], a.slice(99..99))
+ assert_equal([], a.slice(100..100))
+ assert_equal([100], a.slice(99..200))
+ assert_equal([100], a.slice(-1..-1))
+ assert_equal([99], a.slice(-2..-2))
+ assert_equal([10, 11, 12], a.slice(9..11))
+ assert_equal([10, 11, 12], a.slice(-91..-89))
+ assert_equal([10, 11, 12], a.slice(-91..-89))
+ assert_nil(a.slice(-101..-1))
+ assert_nil(a.slice(10, -3))
+ assert_equal([], a.slice(10..7))
+ assert_equal(b, a)
end
assert('Array#unshift', '15.2.12.5.30') do