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_engine_manager.rb
naruse a95be81ea2 Revert "* lib/yaml.rb: Remove Psych::EngineManager [Bug #8344]"
zzak is not the maintainer of yaml.
This reverts commit r46097.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-25 03:33:22 +00:00

47 lines
1 KiB
Ruby

require_relative 'helper'
require 'yaml'
module Psych
class TestEngineManager < TestCase
def test_bad_engine
assert_raises(ArgumentError) do
YAML::ENGINE.yamler = 'foooo'
end
end
def test_set_psych
YAML::ENGINE.yamler = 'psych'
assert_equal Psych, YAML
assert_equal 'psych', YAML::ENGINE.yamler
end
A = Struct.new(:name)
def test_dump_types
YAML::ENGINE.yamler = 'psych'
assert_to_yaml ::Object.new
assert_to_yaml Time.now
assert_to_yaml Date.today
assert_to_yaml('a' => 'b')
assert_to_yaml A.new('foo')
assert_to_yaml %w{a b}
assert_to_yaml Exception.new('foo')
assert_to_yaml "hello!"
assert_to_yaml :fooo
assert_to_yaml(1..10)
assert_to_yaml(/hello!~/)
assert_to_yaml 1
assert_to_yaml 1.2
assert_to_yaml Rational(1, 2)
assert_to_yaml Complex(1, 2)
assert_to_yaml true
assert_to_yaml false
assert_to_yaml nil
end
def assert_to_yaml obj
assert obj.to_yaml, "#{obj.class} to_yaml works"
end
end
end