1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/psych/test_set.rb
tenderlove b9b923ca94 * ext/psych/*: importing Psych to trunk
* test/psych/*: ditto
* lib/psych/*: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-28 21:49:37 +00:00

49 lines
883 B
Ruby

require 'test/psych/helper'
module Psych
class TestSet < TestCase
def setup
super
@set = Psych::Set.new
@set['foo'] = 'bar'
@set['bar'] = 'baz'
end
def test_dump
assert_match(/!set/, Psych.dump(@set))
end
def test_roundtrip
assert_cycle(@set)
end
###
# FIXME: Syck should also support !!set as shorthand
def test_load_from_yaml
loaded = Psych.load(<<-eoyml)
--- !set
foo: bar
bar: baz
eoyml
assert_equal(@set, loaded)
end
def test_loaded_class
assert_instance_of(Psych::Set, Psych.load(Psych.dump(@set)))
end
def test_set_shorthand
loaded = Psych.load(<<-eoyml)
--- !!set
foo: bar
bar: baz
eoyml
assert_instance_of(Psych::Set, loaded)
end
def test_set_self_reference
@set['self'] = @set
assert_cycle(@set)
end
end
end