Sha256: 50beae2b09b722c218363fd5e96e854c4463b0b7d0709eccd404e4cc7ee02eef
Contents?: true
Size: 1.04 KB
Versions: 2
Compression:
Stored size: 1.04 KB
Contents
require 'psych/helper' class PsychStructWithIvar < Struct.new(:foo) attr_reader :bar def initialize *args super @bar = 'hello' end end module Psych class TestStruct < TestCase class StructSubclass < Struct.new(:foo) def initialize foo, bar super(foo) @bar = bar end end def test_self_referential_struct ss = StructSubclass.new(nil, 'foo') ss.foo = ss loaded = Psych.load(Psych.dump(ss)) assert_instance_of(StructSubclass, loaded.foo) # FIXME: This seems to cause an infinite loop. wtf. Must report a bug # in ruby. # assert_equal(ss, loaded) end def test_roundtrip thing = PsychStructWithIvar.new('bar') struct = Psych.load(Psych.dump(thing)) assert_equal 'hello', struct.bar assert_equal 'bar', struct.foo end def test_load obj = Psych.load(<<-eoyml) --- !ruby/struct:PsychStructWithIvar :foo: bar :@bar: hello eoyml assert_equal 'hello', obj.bar assert_equal 'bar', obj.foo end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
psych-1.1.1 | test/psych/test_struct.rb |
psych-1.1.0 | test/psych/test_struct.rb |