diff options
author | Alexander Momchilov <alexander.momchilov@shopify.com> | 2022-07-22 15:49:05 -0400 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2022-08-09 01:31:22 +0900 |
commit | c851bced390204d6624e58c47941f34d0858b352 (patch) | |
tree | 9517b984bfa2a7d1f81101541706165996963605 /test/psych/test_safe_load.rb | |
parent | 1602443c985975cfc0f6f0b83ae6ac661a3c93bc (diff) | |
download | ruby-c851bced390204d6624e58c47941f34d0858b352.tar.gz |
[ruby/psych] Clarify tests about parsing aliases
https://github.com/ruby/psych/commit/0bc30cb4cb
Diffstat (limited to 'test/psych/test_safe_load.rb')
-rw-r--r-- | test/psych/test_safe_load.rb | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/test/psych/test_safe_load.rb b/test/psych/test_safe_load.rb index b52d6048b3..e57dbcb2f5 100644 --- a/test/psych/test_safe_load.rb +++ b/test/psych/test_safe_load.rb @@ -19,18 +19,31 @@ module Psych end end - def test_no_recursion - x = [] - x << x + def test_raises_when_alias_found_if_alias_parsing_not_enabled + yaml_with_aliases = <<~YAML + --- + a: &ABC + k1: v1 + k2: v2 + b: *ABC + YAML + assert_raise(Psych::BadAlias) do - Psych.safe_load Psych.dump(x) + Psych.safe_load(yaml_with_aliases) end end - def test_explicit_recursion - x = [] - x << x - assert_equal(x, Psych.safe_load(Psych.dump(x), permitted_classes: [], permitted_symbols: [], aliases: true)) + def test_aliases_are_parsed_when_alias_parsing_is_enabled + yaml_with_aliases = <<~YAML + --- + a: &ABC + k1: v1 + k2: v2 + b: *ABC + YAML + + result = Psych.safe_load(yaml_with_aliases, aliases: true) + assert_same result.fetch("a"), result.fetch("b") end def test_permitted_symbol |