diff --git a/ChangeLog b/ChangeLog index d4e538aa88..af01e891d8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Thu Jan 6 02:55:48 2011 Aaron Patterson + + * ext/psych/lib/psych/visitors/yaml_tree.rb: use YAML 1.0 output + format for serializing nil values. Thanks Eric Hodel! + + * test/psych/test_nil.rb: test for nil values + Wed Jan 5 14:21:34 2011 Mark Dodwell * string.c: fix rdoc typo. diff --git a/ext/psych/lib/psych/visitors/yaml_tree.rb b/ext/psych/lib/psych/visitors/yaml_tree.rb index 38a42fcaff..b862528502 100644 --- a/ext/psych/lib/psych/visitors/yaml_tree.rb +++ b/ext/psych/lib/psych/visitors/yaml_tree.rb @@ -279,7 +279,7 @@ module Psych end def visit_NilClass o - @emitter.scalar('', nil, 'tag:yaml.org,2002:null', false, false, Nodes::Scalar::ANY) + @emitter.scalar('', nil, 'tag:yaml.org,2002:null', true, false, Nodes::Scalar::ANY) end def visit_Symbol o diff --git a/test/psych/test_nil.rb b/test/psych/test_nil.rb new file mode 100644 index 0000000000..e63c6c7286 --- /dev/null +++ b/test/psych/test_nil.rb @@ -0,0 +1,18 @@ +require_relative 'helper' + +module Psych + class TestNil < TestCase + def test_nil + yml = Psych.dump nil + assert_equal "--- \n...\n", yml + assert_equal nil, Psych.load(yml) + end + + def test_array_nil + yml = Psych.dump [nil] + assert_equal "---\n- \n", yml + assert_equal [nil], Psych.load(yml) + end + + end +end