From c7708d22c33040a74ea7ac683bf7407d3759edfe Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Thu, 31 Oct 2024 11:02:11 -0400 Subject: [PATCH] Improve coverage of TestProc#test_hash_uniqueness --- test/ruby/test_proc.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test/ruby/test_proc.rb b/test/ruby/test_proc.rb index 5f21c8cf5d..47b256a4c4 100644 --- a/test/ruby/test_proc.rb +++ b/test/ruby/test_proc.rb @@ -186,6 +186,18 @@ class TestProc < Test::Unit::TestCase procs = Array.new(1000){capture{:foo }} assert_operator(procs.map(&:hash).uniq.size, :>=, 500) + + # iseq backed proc + unique_hashes = 1000.times.map { proc {}.hash }.uniq + assert_operator(unique_hashes.size, :>=, 500) + + # ifunc backed proc + unique_hashes = 1000.times.map { {}.to_proc.hash }.uniq + assert_operator(unique_hashes.size, :>=, 500) + + # symbol backed proc + unique_hashes = 1000.times.map { |i| :"test#{i}".to_proc.hash }.uniq + assert_operator(unique_hashes.size, :>=, 500) end def test_hash_does_not_change_after_compaction