* ext/psych/lib/psych.rb: Syck api compatibility [ruby-core:29157]
* ext/psych/lib/psych/nodes/node.rb: ditto * test/psych/test_psych.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
c97f5f514a
commit
a4dbc2ea10
@ -153,10 +153,15 @@ module Psych
|
|||||||
# Example:
|
# Example:
|
||||||
#
|
#
|
||||||
# Psych.dump(['a', 'b']) # => "---\n- a\n- b\n"
|
# Psych.dump(['a', 'b']) # => "---\n- a\n- b\n"
|
||||||
def self.dump o, options = {}
|
def self.dump o, io = nil, options = {}
|
||||||
|
if Hash === io
|
||||||
|
options = io
|
||||||
|
io = nil
|
||||||
|
end
|
||||||
|
|
||||||
visitor = Psych::Visitors::YAMLTree.new options
|
visitor = Psych::Visitors::YAMLTree.new options
|
||||||
visitor << o
|
visitor << o
|
||||||
visitor.tree.to_yaml
|
visitor.tree.to_yaml io
|
||||||
end
|
end
|
||||||
|
|
||||||
###
|
###
|
||||||
|
@ -30,10 +30,12 @@ module Psych
|
|||||||
# Convert this node to YAML.
|
# Convert this node to YAML.
|
||||||
#
|
#
|
||||||
# See also Psych::Visitors::Emitter
|
# See also Psych::Visitors::Emitter
|
||||||
def to_yaml
|
def to_yaml io = nil
|
||||||
io = StringIO.new
|
real_io = io || StringIO.new
|
||||||
Visitors::Emitter.new(io).accept self
|
|
||||||
io.string
|
Visitors::Emitter.new(real_io).accept self
|
||||||
|
return real_io.string unless io
|
||||||
|
io
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
require_relative 'helper'
|
require_relative 'helper'
|
||||||
|
|
||||||
|
require 'stringio'
|
||||||
|
require 'tempfile'
|
||||||
|
|
||||||
class TestPsych < Psych::TestCase
|
class TestPsych < Psych::TestCase
|
||||||
def test_dump_stream
|
def test_dump_stream
|
||||||
things = [22, "foo \n", {}]
|
things = [22, "foo \n", {}]
|
||||||
@ -7,6 +10,22 @@ class TestPsych < Psych::TestCase
|
|||||||
assert_equal things, Psych.load_stream(stream)
|
assert_equal things, Psych.load_stream(stream)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_dump_file
|
||||||
|
hash = {'hello' => 'TGIF!'}
|
||||||
|
Tempfile.open('fun.yml') do |io|
|
||||||
|
assert_equal io, Psych.dump(hash, io)
|
||||||
|
io.rewind
|
||||||
|
assert_equal Psych.dump(hash), io.read
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_dump_io
|
||||||
|
hash = {'hello' => 'TGIF!'}
|
||||||
|
stringio = StringIO.new ''
|
||||||
|
assert_equal stringio, Psych.dump(hash, stringio)
|
||||||
|
assert_equal Psych.dump(hash), stringio.string
|
||||||
|
end
|
||||||
|
|
||||||
def test_simple
|
def test_simple
|
||||||
assert_equal 'foo', Psych.load("--- foo\n")
|
assert_equal 'foo', Psych.load("--- foo\n")
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user