summaryrefslogtreecommitdiffhomepage
path: root/test/t/objectspace.rb
blob: bf79da902c1fb25c9711dc8b3eeb6c17829c2dd7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

assert('ObjectSpace.count_objects') do
    h = {}
    ObjectSpace.count_objects(h)
    assert_kind_of(Hash, h)
    assert_true(h.keys.all? {|x| x.is_a?(Symbol) || x.is_a?(Integer) })
    assert_true(h.values.all? {|x| x.is_a?(Integer) })

    h = ObjectSpace.count_objects
    assert_kind_of(Hash, h)
    assert_true(h.keys.all? {|x| x.is_a?(Symbol) || x.is_a?(Integer) })
    assert_true(h.values.all? {|x| x.is_a?(Integer) })

    assert_raise(TypeError) { ObjectSpace.count_objects(1) }

    h0 = {:MRB_TT_FOO=>1000}
    h = ObjectSpace.count_objects(h0)
    assert_false(h0.has_key?(:MRB_TT_FOO))
  end