summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-08-25 22:30:03 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-08-25 22:30:03 +0000
commit8554e163557a4f32f6e9427146d594df31ac024a (patch)
tree2f433ca9eb7f177befc9631338f5a13f8bb2900a /test
parent2034fe610fd9da3781f4a1e39079128da812748c (diff)
* array.c (rb_ary_{shuffle_bang,sample}): use Random class object.
* random.c (try_get_rnd): use default_rand for Random as same as singleton methods. * random.c (rb_random_real): check the range of result. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_array.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/ruby/test_array.rb b/test/ruby/test_array.rb
index f95d8870a1..4a8b700c77 100644
--- a/test/ruby/test_array.rb
+++ b/test/ruby/test_array.rb
@@ -1899,6 +1899,19 @@ class TestArray < Test::Unit::TestCase
end
end
+ def test_shuffle_random
+ cc = nil
+ gen = proc do
+ 10000000
+ end
+ class << gen
+ alias rand call
+ end
+ assert_raise(RangeError) {
+ [*0..2].shuffle(random: gen)
+ }
+ end
+
def test_sample
100.times do
assert([0, 1, 2].include?([2, 1, 0].sample))