зеркало из https://github.com/github/ruby.git
gc.c: fix WeakMap#inspect
* gc.c (wmap_inspect_i): fix key/value order. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
332decb490
Коммит
9bd802f556
4
gc.c
4
gc.c
|
@ -6346,8 +6346,8 @@ wmap_inspect(VALUE self)
|
|||
|
||||
TypedData_Get_Struct(self, struct weakmap, &weakmap_type, w);
|
||||
str = rb_sprintf("-<%"PRIsVALUE":%p", c, (void *)self);
|
||||
if (w->obj2wmap) {
|
||||
st_foreach(w->obj2wmap, wmap_inspect_i, str);
|
||||
if (w->wmap2obj) {
|
||||
st_foreach(w->wmap2obj, wmap_inspect_i, str);
|
||||
}
|
||||
RSTRING_PTR(str)[0] = '#';
|
||||
rb_str_cat2(str, ">");
|
||||
|
|
|
@ -28,6 +28,14 @@ class TestWeakMap < Test::Unit::TestCase
|
|||
alias test_member? test_include?
|
||||
alias test_key? test_include?
|
||||
|
||||
def test_inspect
|
||||
x = Object.new
|
||||
k = BasicObject.new
|
||||
@wm[k] = x
|
||||
assert_match(/\A\#<#{@wm.class.name}:[^:]+:\s\#<BasicObject:[^:]*>\s=>\s\#<Object:[^:]*>>\z/,
|
||||
@wm.inspect)
|
||||
end
|
||||
|
||||
def test_each
|
||||
m = __callee__[/test_(.*)/, 1]
|
||||
x1 = Object.new
|
||||
|
|
Загрузка…
Ссылка в новой задаче