* lib/yaml.rb: Remove Psych::EngineManager [Bug #8344]

* test/psych/*: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
zzak 2014-05-25 02:33:51 +00:00
Родитель 71c4c0b9e7
Коммит 7833e69c2e
6 изменённых файлов: 8 добавлений и 85 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Sun May 25 11:32:42 2014 Zachary Scott <e@zzak.io>
* lib/yaml.rb: Remove Psych::EngineManager [Bug #8344]
* test/psych/*: ditto.
Sun May 25 10:34:15 2014 Zachary Scott <e@zzak.io> Sun May 25 10:34:15 2014 Zachary Scott <e@zzak.io>
* doc/regexp.rdoc: [DOC] Clarify whitespace matching by @allolex * doc/regexp.rdoc: [DOC] Clarify whitespace matching by @allolex

3
NEWS
Просмотреть файл

@ -120,6 +120,9 @@ with all sufficient information, see the ChangeLog file.
* Prime.prime? now returns false for negative numbers. This method * Prime.prime? now returns false for negative numbers. This method
should not be used to know the number is composite or not. [Bug #7395] should not be used to know the number is composite or not. [Bug #7395]
* Psych
* Removed Psych::EngineManager [Bug #8344]
=== Built-in global variables compatibility issues === Built-in global variables compatibility issues
=== C API updates === C API updates

Просмотреть файл

@ -12,40 +12,6 @@ end
YAML = Psych # :nodoc: YAML = Psych # :nodoc:
module Psych # :nodoc:
# For compatibility, deprecated
class EngineManager # :nodoc:
attr_reader :yamler # :nodoc:
def initialize # :nodoc:
@yamler = 'psych'
end
def syck? # :nodoc:
false
end
# Psych is always used and this method has no effect.
#
# This method is still present for compatibility.
#
# You may still use the Syck engine by installing
# the 'syck' gem and using the Syck constant.
def yamler= engine # :nodoc:
case engine
when 'syck' then warn "syck has been removed, psych is used instead"
when 'psych' then @yamler = 'psych'
else
raise(ArgumentError, "bad engine")
end
engine
end
end
ENGINE = EngineManager.new # :nodoc:
end
# YAML Ain't Markup Language # YAML Ain't Markup Language
# #
# This module provides a Ruby interface for data serialization in YAML format. # This module provides a Ruby interface for data serialization in YAML format.

Просмотреть файл

@ -1,47 +0,0 @@
require_relative 'helper'
require 'yaml'
module Psych
class TestEngineManager < TestCase
def test_bad_engine
assert_raises(ArgumentError) do
YAML::ENGINE.yamler = 'foooo'
end
end
def test_set_psych
YAML::ENGINE.yamler = 'psych'
assert_equal Psych, YAML
assert_equal 'psych', YAML::ENGINE.yamler
end
A = Struct.new(:name)
def test_dump_types
YAML::ENGINE.yamler = 'psych'
assert_to_yaml ::Object.new
assert_to_yaml Time.now
assert_to_yaml Date.today
assert_to_yaml('a' => 'b')
assert_to_yaml A.new('foo')
assert_to_yaml %w{a b}
assert_to_yaml Exception.new('foo')
assert_to_yaml "hello!"
assert_to_yaml :fooo
assert_to_yaml(1..10)
assert_to_yaml(/hello!~/)
assert_to_yaml 1
assert_to_yaml 1.2
assert_to_yaml Rational(1, 2)
assert_to_yaml Complex(1, 2)
assert_to_yaml true
assert_to_yaml false
assert_to_yaml nil
end
def assert_to_yaml obj
assert obj.to_yaml, "#{obj.class} to_yaml works"
end
end
end

Просмотреть файл

@ -13,7 +13,6 @@ module Psych
class YAMLDBMTest < TestCase class YAMLDBMTest < TestCase
def setup def setup
@engine, YAML::ENGINE.yamler = YAML::ENGINE.yamler, 'psych'
@dir = Dir.mktmpdir("rubytest-file") @dir = Dir.mktmpdir("rubytest-file")
File.chown(-1, Process.gid, @dir) File.chown(-1, Process.gid, @dir)
@yamldbm_file = make_tmp_filename("yamldbm") @yamldbm_file = make_tmp_filename("yamldbm")
@ -21,7 +20,6 @@ module Psych
end end
def teardown def teardown
YAML::ENGINE.yamler = @engine
@yamldbm.clear @yamldbm.clear
@yamldbm.close @yamldbm.close
FileUtils.remove_entry_secure @dir FileUtils.remove_entry_secure @dir

Просмотреть файл

@ -7,7 +7,6 @@ module Psych
class YAMLStoreTest < TestCase class YAMLStoreTest < TestCase
def setup def setup
@engine, YAML::ENGINE.yamler = YAML::ENGINE.yamler, 'psych'
@dir = Dir.mktmpdir("rubytest-file") @dir = Dir.mktmpdir("rubytest-file")
File.chown(-1, Process.gid, @dir) File.chown(-1, Process.gid, @dir)
@yamlstore_file = make_tmp_filename("yamlstore") @yamlstore_file = make_tmp_filename("yamlstore")
@ -15,7 +14,6 @@ module Psych
end end
def teardown def teardown
YAML::ENGINE.yamler = @engine
FileUtils.remove_entry_secure @dir FileUtils.remove_entry_secure @dir
end end