diff options
author | tenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-12-12 17:47:29 +0000 |
---|---|---|
committer | tenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-12-12 17:47:29 +0000 |
commit | a7c2faebb0b4d564653c1d0cdc11f6da881c2bb4 (patch) | |
tree | 7b077428bb11ecd037917bc5b39a093644ff07a4 /test/psych | |
parent | 83d1eebb71cbce708cce9c23b3ccb69cf8bb4470 (diff) |
merge revision(s) 33160,33381,33382,33383,33384,33385:
* ext/psych/lib/psych.rb: update psych version.
* ext/psych/psych.gemspec: generate new gemspec for new version.
* ext/psych/lib/psych.rb: calling `yaml` rather than `to_yaml`.
* ext/psych/lib/psych/nodes/node.rb: Rename `to_yaml` to just `yaml`
in order to avoid YAML::ENGINE switching from replacing this method.
* test/psych/helper.rb: fix tests for method name change.
* test/psych/test_document.rb: ditto
* test/psych/visitors/test_emitter.rb: ditto
* ext/psych/lib/psych/scalar_scanner.rb: Match values against the
floating point spec defined in YAML to avoid erronious parses.
* test/psych/test_numeric.rb: corresponding test.
* ext/psych/lib/psych/visitors/to_ruby.rb: ToRuby visitor can be
constructed with a ScalarScanner.
* ext/psych/lib/psych/visitors/yaml_tree.rb: ScalarScanner can be
passed to the YAMLTree visitor.
* ext/psych/lib/psych/visitors/to_ruby.rb: Define Regexp::NOENCODING
for 1.9.2 backwards compatibility.
* ext/psych/lib/psych/visitors/yaml_tree.rb: Fix Date string
generation for 1.9.2 backwards compatibility.
* ext/psych/lib/psych/visitors/yaml_tree.rb: emit strings tagged as
ascii-8bit as binary in YAML.
* test/psych/test_string.rb: corresponding test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@34017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/psych')
-rw-r--r-- | test/psych/helper.rb | 2 | ||||
-rw-r--r-- | test/psych/test_document.rb | 8 | ||||
-rw-r--r-- | test/psych/test_numeric.rb | 14 | ||||
-rw-r--r-- | test/psych/test_string.rb | 8 | ||||
-rw-r--r-- | test/psych/visitors/test_emitter.rb | 16 |
5 files changed, 35 insertions, 13 deletions
diff --git a/test/psych/helper.rb b/test/psych/helper.rb index 61049d6cf2..8108e993c1 100644 --- a/test/psych/helper.rb +++ b/test/psych/helper.rb @@ -32,7 +32,7 @@ module Psych def assert_cycle( obj ) v = Visitors::YAMLTree.new v << obj - assert_equal(obj, Psych.load(v.tree.to_yaml)) + assert_equal(obj, Psych.load(v.tree.yaml)) assert_equal( obj, Psych::load(Psych.dump(obj))) assert_equal( obj, Psych::load( obj.psych_to_yaml ) ) end diff --git a/test/psych/test_document.rb b/test/psych/test_document.rb index 55add5f4dd..05d9bbfb87 100644 --- a/test/psych/test_document.rb +++ b/test/psych/test_document.rb @@ -18,12 +18,12 @@ module Psych end def test_emit_tag - assert_match('%TAG ! tag:tenderlovemaking.com,2009:', @stream.to_yaml) + assert_match('%TAG ! tag:tenderlovemaking.com,2009:', @stream.yaml) end def test_emit_multitag @doc.tag_directives << ['!!', 'foo.com,2009:'] - yaml = @stream.to_yaml + yaml = @stream.yaml assert_match('%TAG ! tag:tenderlovemaking.com,2009:', yaml) assert_match('%TAG !! foo.com,2009:', yaml) end @@ -31,7 +31,7 @@ module Psych def test_emit_bad_tag assert_raises(RuntimeError) do @doc.tag_directives = [['!']] - @stream.to_yaml + @stream.yaml end end @@ -40,7 +40,7 @@ module Psych end def test_emit_version - assert_match('%YAML 1.1', @stream.to_yaml) + assert_match('%YAML 1.1', @stream.yaml) end end end diff --git a/test/psych/test_numeric.rb b/test/psych/test_numeric.rb new file mode 100644 index 0000000000..9adb058a32 --- /dev/null +++ b/test/psych/test_numeric.rb @@ -0,0 +1,14 @@ +require 'psych/helper' + +module Psych + ### + # Test numerics from YAML spec: + # http://yaml.org/type/float.html + # http://yaml.org/type/int.html + class TestNumeric < TestCase + def test_non_float_with_0 + str = Psych.load('--- 090') + assert_equal '090', str + end + end +end diff --git a/test/psych/test_string.rb b/test/psych/test_string.rb index 96d77e0f42..51f1280abf 100644 --- a/test/psych/test_string.rb +++ b/test/psych/test_string.rb @@ -2,6 +2,14 @@ require 'psych/helper' module Psych class TestString < TestCase + def test_tagged_binary_should_be_dumped_as_binary + string = "hello world!" + string.force_encoding 'ascii-8bit' + yml = Psych.dump string + assert_match(/binary/, yml) + assert_equal string, Psych.load(yml) + end + def test_binary_string_null string = "\x00" yml = Psych.dump string diff --git a/test/psych/visitors/test_emitter.rb b/test/psych/visitors/test_emitter.rb index de27b4588c..780c953693 100644 --- a/test/psych/visitors/test_emitter.rb +++ b/test/psych/visitors/test_emitter.rb @@ -46,7 +46,7 @@ module Psych @visitor.accept s assert_match(/1.1/, @io.string) - assert_equal @io.string, s.to_yaml + assert_equal @io.string, s.yaml end def test_document_implicit_end @@ -61,8 +61,8 @@ module Psych @visitor.accept s assert_match(/key: value/, @io.string) - assert_equal @io.string, s.to_yaml - assert(/\.\.\./ !~ s.to_yaml) + assert_equal @io.string, s.yaml + assert(/\.\.\./ !~ s.yaml) end def test_scalar @@ -76,7 +76,7 @@ module Psych @visitor.accept s assert_match(/hello/, @io.string) - assert_equal @io.string, s.to_yaml + assert_equal @io.string, s.yaml end def test_scalar_with_tag @@ -91,7 +91,7 @@ module Psych assert_match(/str/, @io.string) assert_match(/hello/, @io.string) - assert_equal @io.string, s.to_yaml + assert_equal @io.string, s.yaml end def test_sequence @@ -107,7 +107,7 @@ module Psych @visitor.accept s assert_match(/- hello/, @io.string) - assert_equal @io.string, s.to_yaml + assert_equal @io.string, s.yaml end def test_mapping @@ -122,7 +122,7 @@ module Psych @visitor.accept s assert_match(/key: value/, @io.string) - assert_equal @io.string, s.to_yaml + assert_equal @io.string, s.yaml end def test_alias @@ -137,7 +137,7 @@ module Psych @visitor.accept s assert_match(/&A key: \*A/, @io.string) - assert_equal @io.string, s.to_yaml + assert_equal @io.string, s.yaml end end end |