mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
47 lines
844 B
Ruby
47 lines
844 B
Ruby
![]() |
require 'test/unit'
|
||
|
require 'yaml'
|
||
|
|
||
|
module YAML
|
||
|
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
|
||
|
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
|