1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

[lib/ostruct] Fix YAML test

This commit is contained in:
Marc-Andre Lafortune 2021-06-14 10:15:11 -04:00 committed by Marc-André Lafortune
parent 52369fc545
commit a09ddfc420
Notes: git 2021-06-15 01:29:14 +09:00

View file

@ -370,18 +370,18 @@ class TC_OpenStruct < Test::Unit::TestCase
def test_legacy_yaml
s = "--- !ruby/object:OpenStruct\ntable:\n :foo: 42\n"
o = YAML.unsafe_load(s)
o = YAML.safe_load(s, permitted_classes: [Symbol, OpenStruct])
assert_equal(42, o.foo)
o = OpenStruct.new(table: {foo: 42})
assert_equal({foo: 42}, YAML.unsafe_load(YAML.dump(o)).table)
assert_equal({foo: 42}, YAML.safe_load(YAML.dump(o), permitted_classes: [Symbol, OpenStruct]).table)
end
def test_yaml
h = {name: "John Smith", age: 70, pension: 300.42}
yaml = "--- !ruby/object:OpenStruct\nname: John Smith\nage: 70\npension: 300.42\n"
os1 = OpenStruct.new(h)
os2 = YAML.unsafe_load(os1.to_yaml)
os2 = YAML.safe_load(os1.to_yaml, permitted_classes: [Symbol, OpenStruct])
assert_equal yaml, os1.to_yaml
assert_equal os1, os2
assert_equal true, os1.eql?(os2)