From ed71054e1667311d60c409369c66ea0704ad7dff Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 10 May 2016 05:57:11 +0000 Subject: random.c: use bytes * random.c (obj_random_bytes): base on bytes method instead of rand method, not to call toplevel rand method. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_rand.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'test/ruby/test_rand.rb') diff --git a/test/ruby/test_rand.rb b/test/ruby/test_rand.rb index d4258a7f1c..c24d6cd1ff 100644 --- a/test/ruby/test_rand.rb +++ b/test/ruby/test_rand.rb @@ -526,6 +526,17 @@ END assert_equal(2, gen.limit, bug7935) end + def test_random_ulong_limited_no_rand + c = Class.new do + undef rand + def bytes(n) + "\0"*n + end + end + gen = c.new.extend(Random::Formatter) + assert_equal(1, [1, 2].sample(random: gen)) + end + def test_default_seed assert_separately([], <<-End) seed = Random::DEFAULT::seed -- cgit v1.2.3