summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_array.rb4
-rw-r--r--test/ruby/test_rand.rb8
2 files changed, 10 insertions, 2 deletions
diff --git a/test/ruby/test_array.rb b/test/ruby/test_array.rb
index 3ab0895f8c..17f2ef66c4 100644
--- a/test/ruby/test_array.rb
+++ b/test/ruby/test_array.rb
@@ -2055,14 +2055,14 @@ class TestArray < Test::Unit::TestCase
ary = (0...10000).to_a
assert_raise(ArgumentError) {ary.sample(1, 2, random: nil)}
gen0 = proc do |max|
- (max+1)/2
+ max/2
end
class << gen0
alias rand call
end
gen1 = proc do |max|
ary.replace([])
- (max+1)/2
+ max/2
end
class << gen1
alias rand call
diff --git a/test/ruby/test_rand.rb b/test/ruby/test_rand.rb
index 9fabfc607f..611e9f57a0 100644
--- a/test/ruby/test_rand.rb
+++ b/test/ruby/test_rand.rb
@@ -528,5 +528,13 @@ END
def (gen = Object.new).rand(*) -1 end
e = assert_raise(RangeError) {[1,2,3].sample(random: gen)}
assert_match(/small -1\z/, e.message, bug7903)
+
+ bug7935 = '[ruby-core:52779] [Bug #7935]'
+ class << (gen = Object.new)
+ def rand(limit) @limit = limit; 0 end
+ attr_reader :limit
+ end
+ [1, 2].sample(1, random: gen)
+ assert_equal(2, gen.limit, bug7935)
end
end