diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_marshal.rb | 5 | ||||
-rw-r--r-- | test/test_delegate.rb | 16 |
2 files changed, 18 insertions, 3 deletions
diff --git a/test/ruby/test_marshal.rb b/test/ruby/test_marshal.rb index 71936ec147..69c11d6688 100644 --- a/test/ruby/test_marshal.rb +++ b/test/ruby/test_marshal.rb @@ -323,11 +323,10 @@ class TestMarshal < Test::Unit::TestCase end end def test_marshal_dump - bug1744 = '[ruby-core:24211]' c = C5.new("bar") s = Marshal.dump(c) d = Marshal.load(s) - assert_equal("foo", d.instance_variable_get(:@foo), bug1744) - assert_equal("bar", d.instance_variable_get(:@x), bug1744) + assert_equal("foo", d.instance_variable_get(:@foo)) + assert_equal(false, d.instance_variable_defined?(:@x)) end end diff --git a/test/test_delegate.rb b/test/test_delegate.rb index aecabe147d..bce1231e52 100644 --- a/test/test_delegate.rb +++ b/test/test_delegate.rb @@ -51,4 +51,20 @@ class TestDelegateClass < Test::Unit::TestCase assert_equal(:m, SimpleDelegator.new(Foo.new).m) assert_equal(:m, Bar.new(Foo.new).m) end + + class IV < DelegateClass(Integer) + attr_accessor :var + + def initialize + @var = 1 + end + end + + def test_marshal + bug1744 = '[ruby-core:24211]' + c = IV.new + assert_equal(1, c.var) + d = Marshal.load(Marshal.dump(c)) + assert_equal(1, d.var, bug1744) + end end |