summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authorKouhei Yanagita <yanagi@shakenbu.org>2023-09-19 15:29:35 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-09-21 10:30:58 +0900
commit7e350f53107533856b0a87c26e5a1e5505ea5d59 (patch)
treee524ab366c7203fd90474123a8c385b826eb6a7b /test/ruby
parentab637cad2b582e8247bafd87a3b0f6323d564f64 (diff)
Optimize Range#bsearch for beginless/endless ranges within Fixnum
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_range.rb3
1 files changed, 3 insertions, 0 deletions
diff --git a/test/ruby/test_range.rb b/test/ruby/test_range.rb
index 8c310b0bae..4d2b6294ed 100644
--- a/test/ruby/test_range.rb
+++ b/test/ruby/test_range.rb
@@ -1047,7 +1047,10 @@ class TestRange < Test::Unit::TestCase
assert_equal(nil, (bignum...bignum+ary.size).bsearch {|i| ary[i - bignum] >= 100 })
assert_equal(bignum + 0, (bignum...bignum+ary.size).bsearch {|i| true })
assert_equal(nil, (bignum...bignum+ary.size).bsearch {|i| false })
+
+ assert_equal(bignum * 2 + 1, (0...).bsearch {|i| i > bignum * 2 })
assert_equal(bignum * 2 + 1, (bignum...).bsearch {|i| i > bignum * 2 })
+ assert_equal(-bignum * 2 + 1, (...0).bsearch {|i| i > -bignum * 2 })
assert_equal(-bignum * 2 + 1, (...-bignum).bsearch {|i| i > -bignum * 2 })
assert_raise(TypeError) { ("a".."z").bsearch {} }