| |
@@ -0,0 +1,162 @@
|
| |
+ From 3c55d93cf68b1a969b90b306de4dd8b88d74a2f2 Mon Sep 17 00:00:00 2001
|
| |
+ From: nagachika <nagachika@ruby-lang.org>
|
| |
+ Date: Sat, 13 Jun 2020 11:29:51 +0900
|
| |
+ Subject: [PATCH] merge revision(s) 7e289cdf3fed588b2d5a6973e29f9ff95cb8d76c:
|
| |
+ [Backport #16949]
|
| |
+
|
| |
+ [ruby/psych] Fixing compatibility with libyaml 0.2.5
|
| |
+
|
| |
+ The main issue is that commas aren't allowed in local tags. libyaml
|
| |
+ was updated to follow the spec, and our tests were out of date.
|
| |
+
|
| |
+ See: https://github.com/yaml/libyaml/issues/196
|
| |
+
|
| |
+ https://github.com/ruby/psych/commit/3f5e520fd3
|
| |
+ ---
|
| |
+ test/psych/test_nil.rb | 4 ++--
|
| |
+ test/psych/test_psych.rb | 17 +++++++----------
|
| |
+ test/psych/test_yaml.rb | 24 ++++++++++++------------
|
| |
+ version.h | 4 ++--
|
| |
+ 4 files changed, 23 insertions(+), 26 deletions(-)
|
| |
+
|
| |
+ diff --git a/test/psych/test_nil.rb b/test/psych/test_nil.rb
|
| |
+ index 910a2e697def..bcbbcb9c9397 100644
|
| |
+ --- a/test/psych/test_nil.rb
|
| |
+ +++ b/test/psych/test_nil.rb
|
| |
+ @@ -5,13 +5,13 @@ module Psych
|
| |
+ class TestNil < TestCase
|
| |
+ def test_nil
|
| |
+ yml = Psych.dump nil
|
| |
+ - assert_match(/--- \n(?:\.\.\.\n)?/, yml)
|
| |
+ + assert_match(/---[ ]?\n(?:\.\.\.\n)?/, yml)
|
| |
+ assert_nil Psych.load(yml)
|
| |
+ end
|
| |
+
|
| |
+ def test_array_nil
|
| |
+ yml = Psych.dump [nil]
|
| |
+ - assert_equal "---\n- \n", yml
|
| |
+ + assert_match(/---\n-[ ]?\n/, yml)
|
| |
+ assert_equal [nil], Psych.load(yml)
|
| |
+ end
|
| |
+
|
| |
+ diff --git a/test/psych/test_psych.rb b/test/psych/test_psych.rb
|
| |
+ index eeadc864ef4e..e557feffb76a 100644
|
| |
+ --- a/test/psych/test_psych.rb
|
| |
+ +++ b/test/psych/test_psych.rb
|
| |
+ @@ -178,17 +178,17 @@ def test_add_builtin_type
|
| |
+
|
| |
+ def test_domain_types
|
| |
+ got = nil
|
| |
+ - Psych.add_domain_type 'foo.bar,2002', 'foo' do |type, val|
|
| |
+ + Psych.add_domain_type 'foo.bar/2002', 'foo' do |type, val|
|
| |
+ got = val
|
| |
+ end
|
| |
+
|
| |
+ - Psych.load('--- !foo.bar,2002/foo hello')
|
| |
+ + Psych.load('--- !foo.bar/2002:foo hello')
|
| |
+ assert_equal 'hello', got
|
| |
+
|
| |
+ - Psych.load("--- !foo.bar,2002/foo\n- hello\n- world")
|
| |
+ + Psych.load("--- !foo.bar/2002:foo\n- hello\n- world")
|
| |
+ assert_equal %w{ hello world }, got
|
| |
+
|
| |
+ - Psych.load("--- !foo.bar,2002/foo\nhello: world")
|
| |
+ + Psych.load("--- !foo.bar/2002:foo\nhello: world")
|
| |
+ assert_equal({ 'hello' => 'world' }, got)
|
| |
+ end
|
| |
+
|
| |
+ @@ -295,16 +295,13 @@ def test_callbacks
|
| |
+ types = []
|
| |
+ appender = lambda { |*args| types << args }
|
| |
+
|
| |
+ - Psych.add_builtin_type('foo', &appender)
|
| |
+ - Psych.add_domain_type('example.com,2002', 'foo', &appender)
|
| |
+ + Psych.add_domain_type('example.com:2002', 'foo', &appender)
|
| |
+ Psych.load <<-eoyml
|
| |
+ -- !tag:yaml.org,2002:foo bar
|
| |
+ -- !tag:example.com,2002:foo bar
|
| |
+ +- !tag:example.com:2002:foo bar
|
| |
+ eoyml
|
| |
+
|
| |
+ assert_equal [
|
| |
+ - ["tag:yaml.org,2002:foo", "bar"],
|
| |
+ - ["tag:example.com,2002:foo", "bar"]
|
| |
+ + ["tag:example.com:2002:foo", "bar"]
|
| |
+ ], types
|
| |
+ end
|
| |
+
|
| |
+ diff --git a/test/psych/test_yaml.rb b/test/psych/test_yaml.rb
|
| |
+ index 5fa759c981b2..0dfd60f89434 100644
|
| |
+ --- a/test/psych/test_yaml.rb
|
| |
+ +++ b/test/psych/test_yaml.rb
|
| |
+ @@ -617,11 +617,11 @@ def test_spec_domain_prefix
|
| |
+ raise ArgumentError, "Not a Hash in domain.tld,2002/invoice: " + val.inspect
|
| |
+ end
|
| |
+ }
|
| |
+ - Psych.add_domain_type( "domain.tld,2002", 'invoice', &customer_proc )
|
| |
+ - Psych.add_domain_type( "domain.tld,2002", 'customer', &customer_proc )
|
| |
+ + Psych.add_domain_type( "domain.tld/2002", 'invoice', &customer_proc )
|
| |
+ + Psych.add_domain_type( "domain.tld/2002", 'customer', &customer_proc )
|
| |
+ assert_parse_only( { "invoice"=> { "customers"=> [ { "given"=>"Chris", "type"=>"domain customer", "family"=>"Dumars" } ], "type"=>"domain invoice" } }, <<EOY
|
| |
+ # 'http://domain.tld,2002/invoice' is some type family.
|
| |
+ -invoice: !domain.tld,2002/invoice
|
| |
+ +invoice: !domain.tld/2002:invoice
|
| |
+ # 'seq' is shorthand for 'http://yaml.org/seq'.
|
| |
+ # This does not effect '^customer' below
|
| |
+ # because it is does not specify a prefix.
|
| |
+ @@ -705,7 +705,7 @@ def test_spec_override_anchor
|
| |
+ end
|
| |
+
|
| |
+ def test_spec_explicit_families
|
| |
+ - Psych.add_domain_type( "somewhere.com,2002", 'type' ) { |type, val|
|
| |
+ + Psych.add_domain_type( "somewhere.com/2002", 'type' ) { |type, val|
|
| |
+ "SOMEWHERE: #{val}"
|
| |
+ }
|
| |
+ assert_parse_only(
|
| |
+ @@ -717,7 +717,7 @@ def test_spec_explicit_families
|
| |
+ Pz7Y6OjuDg4J+fn5OTk6enp
|
| |
+ 56enmleECcgggoBADs=
|
| |
+
|
| |
+ -hmm: !somewhere.com,2002/type |
|
| |
+ +hmm: !somewhere.com/2002:type |
|
| |
+ family above is short for
|
| |
+ http://somewhere.com/type
|
| |
+ EOY
|
| |
+ @@ -726,7 +726,7 @@ def test_spec_explicit_families
|
| |
+
|
| |
+ def test_spec_application_family
|
| |
+ # Testing the clarkevans.com graphs
|
| |
+ - Psych.add_domain_type( "clarkevans.com,2002", 'graph/shape' ) { |type, val|
|
| |
+ + Psych.add_domain_type( "clarkevans.com/2002", 'graph/shape' ) { |type, val|
|
| |
+ if Array === val
|
| |
+ val << "Shape Container"
|
| |
+ val
|
| |
+ @@ -743,13 +743,13 @@ def test_spec_application_family
|
| |
+ raise ArgumentError, "Invalid graph of type #{val.class}: " + val.inspect
|
| |
+ end
|
| |
+ }
|
| |
+ - Psych.add_domain_type( "clarkevans.com,2002", 'graph/circle', &one_shape_proc )
|
| |
+ - Psych.add_domain_type( "clarkevans.com,2002", 'graph/line', &one_shape_proc )
|
| |
+ - Psych.add_domain_type( "clarkevans.com,2002", 'graph/text', &one_shape_proc )
|
| |
+ + Psych.add_domain_type( "clarkevans.com/2002", 'graph/circle', &one_shape_proc )
|
| |
+ + Psych.add_domain_type( "clarkevans.com/2002", 'graph/line', &one_shape_proc )
|
| |
+ + Psych.add_domain_type( "clarkevans.com/2002", 'graph/text', &one_shape_proc )
|
| |
+ # MODIFIED to remove invalid Psych
|
| |
+ assert_parse_only(
|
| |
+ [[{"radius"=>7, "center"=>{"x"=>73, "y"=>129}, "TYPE"=>"Shape: graph/circle"}, {"finish"=>{"x"=>89, "y"=>102}, "TYPE"=>"Shape: graph/line", "start"=>{"x"=>73, "y"=>129}}, {"TYPE"=>"Shape: graph/text", "value"=>"Pretty vector drawing.", "start"=>{"x"=>73, "y"=>129}, "color"=>16772795}, "Shape Container"]], <<EOY
|
| |
+ -- !clarkevans.com,2002/graph/shape
|
| |
+ +- !clarkevans.com/2002:graph/shape
|
| |
+ - !/graph/circle
|
| |
+ center: &ORIGIN {x: 73, y: 129}
|
| |
+ radius: 7
|
| |
+ @@ -771,8 +771,8 @@ def test_spec_float_explicit
|
| |
+ # have the same type and value.
|
| |
+ - 10.0
|
| |
+ - !float 10
|
| |
+ -- !yaml.org,2002/float '10'
|
| |
+ -- !yaml.org,2002/float "\\
|
| |
+ +- !yaml.org/2002/float '10'
|
| |
+ +- !yaml.org/2002/float "\\
|
| |
+ 1\\
|
| |
+ 0"
|
| |
+ EOY
|
| |
Resolves: rhbz#1845530
This PR is to fix the test failures due to libyaml 0.2.5.
root.log
https://koji.fedoraproject.org/koji/taskinfo?taskID=45575778
rpmlint
Okay. the following one is the false positive.
Because http://ruby-lang.org/ redirects to https://www.ruby-lang.org/en/.