require 'minitest/autorun' require 'psych' class TestPsych < MiniTest::Unit::TestCase def test_simple assert_equal 'foo', Psych.load("--- foo\n") end def test_libyaml_version assert Psych.libyaml_version assert_equal Psych.libyaml_version.join('.'), Psych::LIBYAML_VERSION end def test_load_documents docs = [] Psych.load_documents("--- foo\n...\n--- bar\n...") { |doc| docs << doc } assert_equal %w{ foo bar }, docs end def test_domain_types got = nil Psych.add_domain_type 'foo.bar,2002', 'foo' do |type, val| got = val end Psych.load('--- !foo.bar,2002/foo hello') assert_equal 'hello', got Psych.load("--- !foo.bar,2002/foo\n- hello\n- world") assert_equal %w{ hello world }, got Psych.load("--- !foo.bar,2002/foo\nhello: world") assert_equal({ 'hello' => 'world' }, got) end end