mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
eb1eee03ca
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
46 lines
860 B
Ruby
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
|