From a73d958c33904fdabac95f49d9834779ca33c599 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 10 Mar 2012 14:52:19 +0000 Subject: * st.c: add st_foreach_check for fixing iteration over packed table and st_delete_safe. patched by Sokolov Yura at https://github.com/ruby/ruby/pull/84 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/-ext-/st/test_numhash.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'test/-ext-/st/test_numhash.rb') diff --git a/test/-ext-/st/test_numhash.rb b/test/-ext-/st/test_numhash.rb index 53dbfedaaf..24dc87c1d9 100644 --- a/test/-ext-/st/test_numhash.rb +++ b/test/-ext-/st/test_numhash.rb @@ -32,5 +32,18 @@ class Bug::StNumHash assert_equal(up - 1, tbl.size, "delete_safe doesn't change size from #{up} to #{up-1}") end end + + def test_delete_safe_on_iteration + 10.downto(1) do |up| + tbl = Bug::StNumHash.new + 1.upto(up){|i| tbl[i] = i} + assert_nothing_raised("delete_safe forces iteration to fail with size #{up}") do + tbl.each do |k, v, t| + assert_equal k, t.delete_safe(k) + true + end + end + end + end end end -- cgit v1.2.3