summaryrefslogtreecommitdiff
path: root/test/psych/test_object.rb
diff options
context:
space:
mode:
authorAlexander Momchilov <alexander.momchilov@shopify.com>2022-07-22 16:45:03 -0400
committerAlexander Momchilov <alexander.momchilov@shopify.com>2022-07-22 16:57:54 -0400
commitd9f7289190d424981555dec9f2c019f6a270f205 (patch)
tree98503a87db510bc0139a7dfefb2870485f4c1d54 /test/psych/test_object.rb
parent0bc30cb4cb03164fb60cab7f0d2eb27fd6e78193 (diff)
downloadpsych-d9f7289190d424981555dec9f2c019f6a270f205.tar.gz
Test that recursive refs dump as aliases
Diffstat (limited to 'test/psych/test_object.rb')
-rw-r--r--test/psych/test_object.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/psych/test_object.rb b/test/psych/test_object.rb
index 0faf6b2..648a3ca 100644
--- a/test/psych/test_object.rb
+++ b/test/psych/test_object.rb
@@ -41,5 +41,17 @@ module Psych
assert_instance_of(Foo, loaded)
assert_equal loaded, loaded.parent
end
+
+ def test_cyclic_reference_uses_alias
+ foo = Foo.new(nil)
+ foo.parent = foo
+
+ expected = <<~eoyaml
+ --- &1 !ruby/object:Psych::Foo
+ parent: *1
+ eoyaml
+
+ assert_equal expected, Psych.dump(foo)
+ end
end
end