From 0d4227ac04832a3bb4010d701ebda2c97c034da6 Mon Sep 17 00:00:00 2001 From: Ryan Scott Date: Sun, 12 May 2013 18:42:21 +1000 Subject: Implemented ObjectSpace.count_objects to count the number of allocated objects for each type --- test/t/objectspace.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 test/t/objectspace.rb (limited to 'test/t') diff --git a/test/t/objectspace.rb b/test/t/objectspace.rb new file mode 100644 index 000000000..bf79da902 --- /dev/null +++ b/test/t/objectspace.rb @@ -0,0 +1,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 \ No newline at end of file -- cgit v1.2.3