1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/psych/lib/psych/visitors/to_ruby.rb: merge keys with a hash

should merge the hash in to the parent.
* test/psych/test_merge_keys.rb: test for change. Fixes GH #202

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
tenderlove 2014-08-29 21:11:47 +00:00
parent 53220c496c
commit 73645bb8e5
3 changed files with 17 additions and 1 deletions

View file

@ -1,3 +1,9 @@
Sat Aug 30 06:10:39 2014 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/psych/lib/psych/visitors/to_ruby.rb: merge keys with a hash
should merge the hash in to the parent.
* test/psych/test_merge_keys.rb: test for change. Fixes GH #202
Sat Aug 30 06:00:26 2014 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/psych/lib/psych/visitors/to_ruby.rb: quoted "<<" strings

View file

@ -307,7 +307,7 @@ module Psych
if key == '<<' && k.tag != "tag:yaml.org,2002:str"
case v
when Nodes::Alias
when Nodes::Alias, Nodes::Mapping
begin
hash.merge! val
rescue TypeError

View file

@ -6,6 +6,16 @@ module Psych
attr_reader :bar
end
def test_merge_key_with_bare_hash
doc = Psych.load <<-eodoc
map:
<<:
hello: world
eodoc
hash = { "map" => { "hello" => "world" } }
assert_equal hash, doc
end
def test_roundtrip_with_chevron_key
h = {}
v = { 'a' => h, '<<' => h }