From dbe6250af2a873f7a79980a98f4fe2b4e89ef8c4 Mon Sep 17 00:00:00 2001 From: tenderlove Date: Sun, 28 Oct 2012 01:06:09 +0000 Subject: [PATCH] * ext/psych/lib/psych/visitors/yaml_tree.rb: YAML Tree object should be able to take an emitter object as it's output. * test/psych/visitors/test_yaml_tree.rb: related test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ ext/psych/lib/psych/visitors/yaml_tree.rb | 2 +- test/psych/visitors/test_yaml_tree.rb | 11 +++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 9d99b50acb..235c4ef47a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Sun Oct 28 10:05:03 2012 Aaron Patterson + + * ext/psych/lib/psych/visitors/yaml_tree.rb: YAML Tree object should + be able to take an emitter object as it's output. + + * test/psych/visitors/test_yaml_tree.rb: related test. + Sun Oct 28 08:23:16 2012 Koichi Sasada * bignum.c (bignew_1): Bignum instances are frozen. diff --git a/ext/psych/lib/psych/visitors/yaml_tree.rb b/ext/psych/lib/psych/visitors/yaml_tree.rb index 948a976dd1..a9b2ebff37 100644 --- a/ext/psych/lib/psych/visitors/yaml_tree.rb +++ b/ext/psych/lib/psych/visitors/yaml_tree.rb @@ -65,7 +65,7 @@ module Psych @emitter.start_document version, [], false accept object - @emitter.end_document + @emitter.end_document !@emitter.streaming? end alias :<< :push diff --git a/test/psych/visitors/test_yaml_tree.rb b/test/psych/visitors/test_yaml_tree.rb index df775635bf..3f2954c71e 100644 --- a/test/psych/visitors/test_yaml_tree.rb +++ b/test/psych/visitors/test_yaml_tree.rb @@ -8,6 +8,17 @@ module Psych @v = Visitors::YAMLTree.new end + def test_yaml_tree_can_take_an_emitter + io = StringIO.new + e = Psych::Emitter.new io + v = Visitors::YAMLTree.new({}, e) + v.start + v << "hello world" + v.finish + + assert_match "hello world", io.string + end + def test_binary_formatting gif = "GIF89a\f\x00\f\x00\x84\x00\x00\xFF\xFF\xF7\xF5\xF5\xEE\xE9\xE9\xE5fff\x00\x00\x00\xE7\xE7\xE7^^^\xF3\xF3\xED\x8E\x8E\x8E\xE0\xE0\xE0\x9F\x9F\x9F\x93\x93\x93\xA7\xA7\xA7\x9E\x9E\x9Eiiiccc\xA3\xA3\xA3\x84\x84\x84\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9!\xFE\x0EMade with GIMP\x00,\x00\x00\x00\x00\f\x00\f\x00\x00\x05, \x8E\x810\x9E\xE3@\x14\xE8i\x10\xC4\xD1\x8A\b\x1C\xCF\x80M$z\xEF\xFF0\x85p\xB8\xB01f\r\e\xCE\x01\xC3\x01\x1E\x10' \x82\n\x01\x00;" @v << gif