mirror of
https://github.com/ruby/ruby.git
synced 2026-01-26 12:14:51 +00:00
Add early type validation for ObjectSpace.memsize_of_all klass argument
This commit is contained in:
parent
1d497946af
commit
6ef0eb29c6
Notes:
git
2026-01-23 02:01:08 +00:00
Merged: https://github.com/ruby/ruby/pull/15937 Merged-By: nobu <nobu@ruby-lang.org>
@ -137,6 +137,7 @@ memsize_of_all_m(int argc, VALUE *argv, VALUE self)
|
||||
|
||||
if (argc > 0) {
|
||||
rb_scan_args(argc, argv, "01", &data.klass);
|
||||
if (!NIL_P(data.klass)) rb_obj_is_kind_of(Qnil, data.klass);
|
||||
}
|
||||
|
||||
each_object_with_flags(total_i, &data);
|
||||
|
||||
@ -54,7 +54,11 @@ class TestObjSpace < Test::Unit::TestCase
|
||||
assert_operator(a, :>, b)
|
||||
assert_operator(a, :>, 0)
|
||||
assert_operator(b, :>, 0)
|
||||
assert_raise(TypeError) {ObjectSpace.memsize_of_all('error')}
|
||||
assert_kind_of(Integer, ObjectSpace.memsize_of_all(Enumerable))
|
||||
end
|
||||
|
||||
def test_memsize_of_all_with_wrong_type
|
||||
assert_raise(TypeError) { ObjectSpace.memsize_of_all(Object.new) }
|
||||
end
|
||||
|
||||
def test_count_objects_size
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user