Merge Pysch-3.1.0.pre2 from ruby/psych.

* Added deprecated warnings for the new interface of keyword argument.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
hsbt 2018-10-20 04:25:04 +00:00
parent 8ea464a9c1
commit 1c92766bf0
7 changed files with 51 additions and 16 deletions

View File

@ -3,7 +3,12 @@ require 'psych/versions'
case RUBY_ENGINE case RUBY_ENGINE
when 'jruby' when 'jruby'
require 'psych_jars' require 'psych_jars'
if JRuby::Util.respond_to?(:load_ext)
JRuby::Util.load_ext('org.jruby.ext.psych.PsychLibrary')
else
require 'java'; require 'jruby'
org.jruby.ext.psych.PsychLibrary.new.load(JRuby.runtime, false) org.jruby.ext.psych.PsychLibrary.new.load(JRuby.runtime, false)
end
else else
begin begin
require "#{RUBY_VERSION[/\d+\.\d+/]}/psych.so" require "#{RUBY_VERSION[/\d+\.\d+/]}/psych.so"
@ -31,7 +36,7 @@ require 'psych/class_loader'
# = Overview # = Overview
# #
# Psych is a YAML parser and emitter. # Psych is a YAML parser and emitter.
# Psych leverages libyaml [Home page: http://pyyaml.org/wiki/LibYAML] # Psych leverages libyaml [Home page: https://pyyaml.org/wiki/LibYAML]
# or [HG repo: https://bitbucket.org/xi/libyaml] for its YAML parsing # or [HG repo: https://bitbucket.org/xi/libyaml] for its YAML parsing
# and emitting capabilities. In addition to wrapping libyaml, Psych also # and emitting capabilities. In addition to wrapping libyaml, Psych also
# knows how to serialize and de-serialize most Ruby objects to and from # knows how to serialize and de-serialize most Ruby objects to and from
@ -265,6 +270,7 @@ module Psych
# #
def self.load yaml, legacy_filename = NOT_GIVEN, filename: nil, fallback: false, symbolize_names: false def self.load yaml, legacy_filename = NOT_GIVEN, filename: nil, fallback: false, symbolize_names: false
if legacy_filename != NOT_GIVEN if legacy_filename != NOT_GIVEN
warn 'warning: Passing filename with the 2nd argument of Psych.load is deprecated. Use keyword argument like Psych.load(yaml, filename: ...) instead.'
filename = legacy_filename filename = legacy_filename
end end
@ -321,18 +327,22 @@ module Psych
# #
def self.safe_load yaml, legacy_whitelist_classes = NOT_GIVEN, legacy_whitelist_symbols = NOT_GIVEN, legacy_aliases = NOT_GIVEN, legacy_filename = NOT_GIVEN, whitelist_classes: [], whitelist_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false def self.safe_load yaml, legacy_whitelist_classes = NOT_GIVEN, legacy_whitelist_symbols = NOT_GIVEN, legacy_aliases = NOT_GIVEN, legacy_filename = NOT_GIVEN, whitelist_classes: [], whitelist_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false
if legacy_whitelist_classes != NOT_GIVEN if legacy_whitelist_classes != NOT_GIVEN
warn 'warning: Passing whitelist_classes with the 2nd argument of Psych.safe_load is deprecated. Use keyword argument like Psych.safe_load(yaml, whitelist_classes: ...) instead.'
whitelist_classes = legacy_whitelist_classes whitelist_classes = legacy_whitelist_classes
end end
if legacy_whitelist_symbols != NOT_GIVEN if legacy_whitelist_symbols != NOT_GIVEN
warn 'warning: Passing whitelist_symbols with the 3rd argument of Psych.safe_load is deprecated. Use keyword argument like Psych.safe_load(yaml, whitelist_symbols: ...) instead.'
whitelist_symbols = legacy_whitelist_symbols whitelist_symbols = legacy_whitelist_symbols
end end
if legacy_aliases != NOT_GIVEN if legacy_aliases != NOT_GIVEN
warn 'warning: Passing aliases with the 4th argument of Psych.safe_load is deprecated. Use keyword argument like Psych.safe_load(yaml, aliases: ...) instead.'
aliases = legacy_aliases aliases = legacy_aliases
end end
if legacy_filename != NOT_GIVEN if legacy_filename != NOT_GIVEN
warn 'warning: Passing filename with the 5th argument of Psych.safe_load is deprecated. Use keyword argument like Psych.safe_load(yaml, filename: ...) instead.'
filename = legacy_filename filename = legacy_filename
end end
@ -373,6 +383,7 @@ module Psych
# See Psych::Nodes for more information about YAML AST. # See Psych::Nodes for more information about YAML AST.
def self.parse yaml, legacy_filename = NOT_GIVEN, filename: nil, fallback: NOT_GIVEN def self.parse yaml, legacy_filename = NOT_GIVEN, filename: nil, fallback: NOT_GIVEN
if legacy_filename != NOT_GIVEN if legacy_filename != NOT_GIVEN
warn 'warning: Passing filename with the 2nd argument of Psych.parse is deprecated. Use keyword argument like Psych.parse(yaml, filename: ...) instead.'
filename = legacy_filename filename = legacy_filename
end end
@ -381,6 +392,7 @@ module Psych
end end
if fallback != NOT_GIVEN if fallback != NOT_GIVEN
warn 'warning: Passing the `fallback` keyword argument of Psych.parse is deprecated.'
fallback fallback
else else
false false
@ -435,6 +447,7 @@ module Psych
# See Psych::Nodes for more information about YAML AST. # See Psych::Nodes for more information about YAML AST.
def self.parse_stream yaml, legacy_filename = NOT_GIVEN, filename: nil, &block def self.parse_stream yaml, legacy_filename = NOT_GIVEN, filename: nil, &block
if legacy_filename != NOT_GIVEN if legacy_filename != NOT_GIVEN
warn 'warning: Passing filename with the 2nd argument of Psych.parse_stream is deprecated. Use keyword argument like Psych.parse_stream(yaml, filename: ...) instead.'
filename = legacy_filename filename = legacy_filename
end end
@ -540,6 +553,7 @@ module Psych
# #
def self.load_stream yaml, legacy_filename = NOT_GIVEN, filename: nil, fallback: [] def self.load_stream yaml, legacy_filename = NOT_GIVEN, filename: nil, fallback: []
if legacy_filename != NOT_GIVEN if legacy_filename != NOT_GIVEN
warn 'warning: Passing filename with the 2nd argument of Psych.load_stream is deprecated. Use keyword argument like Psych.load_stream(yaml, filename: ...) instead.'
filename = legacy_filename filename = legacy_filename
end end

View File

@ -1,9 +1,9 @@
# frozen_string_literal: true # frozen_string_literal: true
module Psych module Psych
# The version is Psych you're using # The version of Psych you are using
VERSION = '3.1.0.pre1' unless defined?(::Psych::VERSION) VERSION = '3.1.0.pre2' unless defined?(::Psych::VERSION)
if RUBY_ENGINE == 'jruby' if RUBY_ENGINE == 'jruby'
DEFAULT_SNAKEYAML_VERSION = '1.21'.freeze DEFAULT_SNAKEYAML_VERSION = '1.23'.freeze
end end
end end

View File

@ -4,6 +4,7 @@
begin begin
require_relative 'lib/psych/versions' require_relative 'lib/psych/versions'
rescue LoadError rescue LoadError
# for Ruby core repository
require_relative 'versions' require_relative 'versions'
end end
@ -14,7 +15,7 @@ Gem::Specification.new do |s|
s.email = ["aaron@tenderlovemaking.com", "hsbt@ruby-lang.org", "headius@headius.com"] s.email = ["aaron@tenderlovemaking.com", "hsbt@ruby-lang.org", "headius@headius.com"]
s.summary = "Psych is a YAML parser and emitter" s.summary = "Psych is a YAML parser and emitter"
s.description = <<-DESCRIPTION s.description = <<-DESCRIPTION
Psych is a YAML parser and emitter. Psych leverages libyaml[http://pyyaml.org/wiki/LibYAML] Psych is a YAML parser and emitter. Psych leverages libyaml[https://pyyaml.org/wiki/LibYAML]
for its YAML parsing and emitting capabilities. In addition to wrapping libyaml, for its YAML parsing and emitting capabilities. In addition to wrapping libyaml,
Psych also knows how to serialize and de-serialize most Ruby objects to and from the YAML format. Psych also knows how to serialize and de-serialize most Ruby objects to and from the YAML format.
DESCRIPTION DESCRIPTION
@ -64,6 +65,6 @@ DESCRIPTION
s.add_development_dependency 'ruby-maven' s.add_development_dependency 'ruby-maven'
else else
s.extensions = ["ext/psych/extconf.rb"] s.extensions = ["ext/psych/extconf.rb"]
s.add_development_dependency 'rake-compiler-dock', ">= 0.6.1" s.add_development_dependency 'rake-compiler-dock', ">= 0.6.3"
end end
end end

View File

@ -15,6 +15,12 @@ module Psych
def setup def setup
super super
@wups = Wups.new @wups = Wups.new
@orig_verbose, $VERBOSE = $VERBOSE, nil
end
def teardown
$VERBOSE = @orig_verbose
end end
def test_naming_exception def test_naming_exception

View File

@ -5,8 +5,14 @@ require 'stringio'
require 'tempfile' require 'tempfile'
class TestPsych < Psych::TestCase class TestPsych < Psych::TestCase
def setup
@orig_verbose, $VERBOSE = $VERBOSE, nil
end
def teardown def teardown
Psych.domain_types.clear Psych.domain_types.clear
$VERBOSE = @orig_verbose
end end
def test_line_width_invalid def test_line_width_invalid

View File

@ -3,6 +3,14 @@ require 'psych/helper'
module Psych module Psych
class TestSafeLoad < TestCase class TestSafeLoad < TestCase
def setup
@orig_verbose, $VERBOSE = $VERBOSE, nil
end
def teardown
$VERBOSE = @orig_verbose
end
class Foo; end class Foo; end
[1, 2.2, {}, [], "foo"].each do |obj| [1, 2.2, {}, [], "foo"].each do |obj|

View File

@ -17,7 +17,7 @@ module Psych
assert_equal [], Psych.load_stream(s) assert_equal [], Psych.load_stream(s)
assert_equal false, Psych.parse(s) assert_equal false, Psych.parse(s)
assert_equal [], Psych.parse_stream(s).transform assert_equal [], Psych.parse_stream(s).transform
assert_equal nil, Psych.safe_load(s) assert_nil Psych.safe_load(s)
end end
def test_false def test_false
@ -49,11 +49,11 @@ module Psych
def test_inf def test_inf
s = "-.inf" s = "-.inf"
assert_equal -Float::INFINITY, Psych.load(s) assert_equal(-Float::INFINITY, Psych.load(s))
assert_equal [-Float::INFINITY], Psych.load_stream(s) assert_equal([-Float::INFINITY], Psych.load_stream(s))
assert_equal -Float::INFINITY, Psych.parse(s).transform assert_equal(-Float::INFINITY, Psych.parse(s).transform)
assert_equal [-Float::INFINITY], Psych.parse_stream(s).transform assert_equal([-Float::INFINITY], Psych.parse_stream(s).transform)
assert_equal -Float::INFINITY, Psych.safe_load(s) assert_equal(-Float::INFINITY, Psych.safe_load(s))
end end
def test_NaN def test_NaN
@ -112,11 +112,11 @@ module Psych
def test_null def test_null
s = "null" s = "null"
assert_equal nil, Psych.load(s) assert_nil Psych.load(s)
assert_equal [nil], Psych.load_stream(s) assert_equal [nil], Psych.load_stream(s)
assert_equal nil, Psych.parse(s).transform assert_nil Psych.parse(s).transform
assert_equal [nil], Psych.parse_stream(s).transform assert_equal [nil], Psych.parse_stream(s).transform
assert_equal nil, Psych.safe_load(s) assert_nil Psych.safe_load(s)
end end
private private