diff options
Diffstat (limited to 'test/objspace')
-rw-r--r-- | test/objspace/test_objspace.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/objspace/test_objspace.rb b/test/objspace/test_objspace.rb index 3036b879bb..2acc35469f 100644 --- a/test/objspace/test_objspace.rb +++ b/test/objspace/test_objspace.rb @@ -351,4 +351,15 @@ class TestObjSpace < Test::Unit::TestCase } assert_operator i, :>, 0 end + + def test_count_symbols + syms = (1..128).map{|i| ("xyzzy#{i}" * 128).to_sym} + c = Class.new{define_method(syms[-1]){}} + + h = ObjectSpace.count_symbols + assert_operator h[:mortal_dynamic_symbol], :>=, 128, h.inspect + assert_operator h[:immortal_dynamic_symbol], :>=, 1, h.inspect + assert_operator h[:immortal_static_symbol], :>=, Object.methods.size, h.inspect + assert_equal h[:immortal_symbol], h[:immortal_dynamic_symbol] + h[:immortal_static_symbol], h.inspect + end end |