diff options
author | Alexander Momchilov <alexander.momchilov@shopify.com> | 2022-07-22 16:45:03 -0400 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2022-08-09 01:31:23 +0900 |
commit | 0b7cfdca09651f2eae5cd0e8ae4efed5033493f2 (patch) | |
tree | 548d2a2a85db2b4376b57c674e3a87525b0a9ee9 /test/psych/test_hash.rb | |
parent | c851bced390204d6624e58c47941f34d0858b352 (diff) |
[ruby/psych] Test that recursive refs dump as aliases
https://github.com/ruby/psych/commit/d9f7289190
Diffstat (limited to 'test/psych/test_hash.rb')
-rw-r--r-- | test/psych/test_hash.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/psych/test_hash.rb b/test/psych/test_hash.rb index 5374781339..43e4b8bf14 100644 --- a/test/psych/test_hash.rb +++ b/test/psych/test_hash.rb @@ -112,6 +112,18 @@ eoyml assert_equal({"foo"=>{"hello"=>"world"}, "bar"=>{"hello"=>"world"}}, hash) end + def test_recursive_hash_uses_alias + h = { } + h["recursive_reference"] = h + + expected = <<~eoyaml + --- &1 + recursive_reference: *1 + eoyaml + + assert_equal(expected, Psych.dump(h)) + end + def test_key_deduplication unless String.method_defined?(:-@) && (-("a" * 20)).equal?((-("a" * 20))) pend "This Ruby implementation doesn't support string deduplication" |