1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/syck/test_exception.rb
nobu eb1eee03ca * ext/syck/lib/syck/rubytypes.rb (Exception.yaml_new): fix bug
that causes YAML serialization problem for Exception.
  Exception#initialize doesn't use visible instance variable for
  the exception message, so call the method with the message.
  patched by Jingwen Owen Ou <jingweno AT gmail.com>.
  http://github.com/ruby/ruby/pull/41

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-05 08:11:48 +00:00

46 lines
860 B
Ruby

require 'test/unit'
require 'yaml'
module Syck
class TestException < Test::Unit::TestCase
class Wups < Exception
attr_reader :foo, :bar
def initialize *args
super
@foo = 1
@bar = 2
end
end
def setup
@wups = Wups.new('test_message')
end
def test_to_yaml
w = YAML.load(@wups.to_yaml)
assert_equal @wups, w
assert_equal 1, w.foo
assert_equal 2, w.bar
end
def test_dump
w = YAML.load(@wups.to_yaml)
assert_equal @wups, w
assert_equal 1, w.foo
assert_equal 2, w.bar
end
def test_to_yaml_properties
class << @wups
def to_yaml_properties
[:@foo]
end
end
w = YAML.load(YAML.dump(@wups))
assert_equal @wups, w
assert_equal 1, w.foo
assert_nil w.bar
end
end
end