From c7262be0aeaf55b5c92b26db82c08f2fe6b95412 Mon Sep 17 00:00:00 2001 From: Bouke van der Bijl Date: Wed, 23 Nov 2016 11:21:14 -0500 Subject: Fix segfault in Array#sample --- mrbgems/mruby-random/test/random.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'mrbgems/mruby-random/test/random.rb') diff --git a/mrbgems/mruby-random/test/random.rb b/mrbgems/mruby-random/test/random.rb index 1653ae4a6..1c59be3a6 100644 --- a/mrbgems/mruby-random/test/random.rb +++ b/mrbgems/mruby-random/test/random.rb @@ -74,3 +74,15 @@ assert('Array#shuffle!(random)') do ary1 != [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] and 10.times { |x| ary1.include? x } and ary1 == ary2 end + +assert('Array#sample checks input length after reading arguments') do + $ary = [1, 2, 3] + class ArrayChange + def to_i + $ary << 4 + 4 + end + end + + assert_equal [1, 2, 3, 4], $ary.sample(ArrayChange.new).sort +end -- cgit v1.2.3