diff options
Diffstat (limited to 'test/-ext-/array/test_resize.rb')
| -rw-r--r-- | test/-ext-/array/test_resize.rb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/-ext-/array/test_resize.rb b/test/-ext-/array/test_resize.rb new file mode 100644 index 0000000000..d393620c55 --- /dev/null +++ b/test/-ext-/array/test_resize.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: false +require 'test/unit' +require '-test-/array/resize' + +class Test_Array < Test::Unit::TestCase + using Module.new { + refine(Array) { + def __resize__(len) ::Bug::Array.__resize__(self, len); end + } + } + + class TestResize < Test::Unit::TestCase + def test_expand + feature = '[ruby-dev:42912]' + ary = [*1..10] + ary.__resize__(10) + assert_equal(10, ary.size, feature) + assert_equal([*1..10], ary, feature) + ary.__resize__(100) + assert_equal(100, ary.size, feature) + assert_equal([*1..10]+[nil]*90, ary, feature) + ary.__resize__(20) + assert_equal(20, ary.size, feature) + assert_equal([*1..10]+[nil]*10, ary, feature) + ary.__resize__(2) + assert_equal(2, ary.size, feature) + assert_equal([1,2], ary, feature) + ary.__resize__(3) + assert_equal(3, ary.size, feature) + assert_equal([1,2,nil], ary, feature) + ary.__resize__(10) + assert_equal(10, ary.size, feature) + assert_equal([1,2]+[nil]*8, ary, feature) + end + end +end |
