diff options
-rw-r--r-- | ext/objspace/objspace_dump.c | 2 | ||||
-rw-r--r-- | test/objspace/test_objspace.rb | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/ext/objspace/objspace_dump.c b/ext/objspace/objspace_dump.c index 2659404556..81e490f06d 100644 --- a/ext/objspace/objspace_dump.c +++ b/ext/objspace/objspace_dump.c @@ -87,7 +87,7 @@ dump_append_string_value(struct dump_config *dc, VALUE obj) break; default: if (c <= 0x1f) - dump_append(dc, "\\u%04d", c); + dump_append(dc, "\\u%04x", c); else dump_append(dc, "%c", c); } diff --git a/test/objspace/test_objspace.rb b/test/objspace/test_objspace.rb index a2242639c7..9d05a4c0f3 100644 --- a/test/objspace/test_objspace.rb +++ b/test/objspace/test_objspace.rb @@ -275,6 +275,10 @@ class TestObjSpace < Test::Unit::TestCase JSON.parse(info) if defined?(JSON) end + def test_dump_control_char + assert_include(ObjectSpace.dump("\x0f"), '"value":"\u000f"') + end + def test_dump_special_consts # [ruby-core:69692] [Bug #11291] assert_equal('null', ObjectSpace.dump(nil)) |