google-protobuf 3.20.0-x86_64-linux → 3.20.1.rc.1-x86_64-linux

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of google-protobuf might be problematic. Click here for more details.

Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/tests/basic.rb +80 -11
  3. metadata +5 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7f0d8b2227736506ac8821c5b787928cbce5baf57041718040785343a4479879
4
- data.tar.gz: d78e1f796b0985641595bcab9c2d74c74d6740e2b6b50821ab2b5f3d7359e81a
3
+ metadata.gz: 1ea00f3e0c8fe0b29ec2117c9d4b17d0d424db42d8a5e12d35ed7b679dc678b7
4
+ data.tar.gz: f7681af6443a0d3b5ed3781e1b1d942660947984bbf2eebe94d361c623cd053a
5
5
  SHA512:
6
- metadata.gz: 53b7d4f0eb71e9b395159b7b4a1f76a437491ce9241792358f7c3019aef1361c2fe306bde197ef95d8f4077b39579a6a28d389167fc9413b60d48d954b6e6d85
7
- data.tar.gz: 4ba378d2b1fcbe22e06c8c3c4bbd29931f19854910471f24cbc1ae325ed2690501ba98e94f08fba84bbe55ea9b7eb3d58eb77f4107ccce944bc2c1a1aebaea5b
6
+ metadata.gz: c4430fa53f7fb42bd95c10cd55ddbd7046e5a806890e74ca043b4b009bc650e9279fc311282b5d1ddf1d2b3306612fcc15465cb1fe6147edf682699eee12d248
7
+ data.tar.gz: a09815ccc16e08dc818e1c06f5b74624fcc5e67305a3b378cafe3e33be578e1c65c452545d4e16b69cbb214d2d3cb4a032d9877eea74b5579a06cab86378c41e
data/tests/basic.rb CHANGED
@@ -66,8 +66,11 @@ module BasicTest
66
66
  def test_issue_8559_crash
67
67
  msg = TestMessage.new
68
68
  msg.repeated_int32 = ::Google::Protobuf::RepeatedField.new(:int32, [1, 2, 3])
69
- # TODO: Remove the platform check once https://github.com/jruby/jruby/issues/6818 is released in JRuby 9.3.0.0
70
- GC.start(full_mark: true, immediate_sweep: true) unless RUBY_PLATFORM == "java"
69
+
70
+ # https://github.com/jruby/jruby/issues/6818 was fixed in JRuby 9.3.0.0
71
+ if cruby_or_jruby_9_3_or_higher?
72
+ GC.start(full_mark: true, immediate_sweep: true)
73
+ end
71
74
  TestMessage.encode(msg)
72
75
  end
73
76
 
@@ -79,6 +82,34 @@ module BasicTest
79
82
  assert_equal 8, msg.id
80
83
  end
81
84
 
85
+ def test_issue_9507
86
+ pool = Google::Protobuf::DescriptorPool.new
87
+ pool.build do
88
+ add_message "NpeMessage" do
89
+ optional :type, :enum, 1, "TestEnum"
90
+ optional :other, :string, 2
91
+ end
92
+ add_enum "TestEnum" do
93
+ value :Something, 0
94
+ end
95
+ end
96
+
97
+ msgclass = pool.lookup("NpeMessage").msgclass
98
+
99
+ m = msgclass.new(
100
+ other: "foo" # must be set, but can be blank
101
+ )
102
+
103
+ begin
104
+ encoded = msgclass.encode(m)
105
+ rescue java.lang.NullPointerException
106
+ flunk "NPE rescued"
107
+ end
108
+ decoded = msgclass.decode(encoded)
109
+ decoded.inspect
110
+ decoded.to_proto
111
+ end
112
+
82
113
  def test_has_field
83
114
  m = TestSingularFields.new
84
115
  assert !m.has_singular_msg?
@@ -145,7 +176,7 @@ module BasicTest
145
176
  m = TestSingularFields.new
146
177
 
147
178
  m.singular_int32 = -42
148
- assert_equal -42, m.singular_int32
179
+ assert_equal( -42, m.singular_int32 )
149
180
  m.clear_singular_int32
150
181
  assert_equal 0, m.singular_int32
151
182
 
@@ -540,8 +571,6 @@ module BasicTest
540
571
 
541
572
 
542
573
  def test_json_maps
543
- # TODO: Fix JSON in JRuby version.
544
- return if RUBY_PLATFORM == "java"
545
574
  m = MapMessage.new(:map_string_int32 => {"a" => 1})
546
575
  expected = {mapStringInt32: {a: 1}, mapStringMsg: {}, mapStringEnum: {}}
547
576
  expected_preserve = {map_string_int32: {a: 1}, map_string_msg: {}, map_string_enum: {}}
@@ -555,8 +584,6 @@ module BasicTest
555
584
  end
556
585
 
557
586
  def test_json_maps_emit_defaults_submsg
558
- # TODO: Fix JSON in JRuby version.
559
- return if RUBY_PLATFORM == "java"
560
587
  m = MapMessage.new(:map_string_msg => {"a" => TestMessage2.new(foo: 0)})
561
588
  expected = {mapStringInt32: {}, mapStringMsg: {a: {foo: 0}}, mapStringEnum: {}}
562
589
 
@@ -566,8 +593,6 @@ module BasicTest
566
593
  end
567
594
 
568
595
  def test_json_emit_defaults_submsg
569
- # TODO: Fix JSON in JRuby version.
570
- return if RUBY_PLATFORM == "java"
571
596
  m = TestSingularFields.new(singular_msg: proto_module::TestMessage2.new)
572
597
 
573
598
  expected = {
@@ -590,8 +615,6 @@ module BasicTest
590
615
  end
591
616
 
592
617
  def test_respond_to
593
- # This test fails with JRuby 1.7.23, likely because of an old JRuby bug.
594
- return if RUBY_PLATFORM == "java"
595
618
  msg = MapMessage.new
596
619
  assert msg.respond_to?(:map_string_int32)
597
620
  assert !msg.respond_to?(:bacon)
@@ -666,5 +689,51 @@ module BasicTest
666
689
  m2 = proto_module::TestMessage.decode(proto_module::TestMessage.encode(m))
667
690
  assert_equal m2, m
668
691
  end
692
+
693
+ def test_map_fields_respond_to? # regression test for issue 9202
694
+ msg = proto_module::MapMessage.new
695
+ assert msg.respond_to?(:map_string_int32=)
696
+ msg.map_string_int32 = Google::Protobuf::Map.new(:string, :int32)
697
+ assert msg.respond_to?(:map_string_int32)
698
+ assert_equal( Google::Protobuf::Map.new(:string, :int32), msg.map_string_int32 )
699
+ assert msg.respond_to?(:clear_map_string_int32)
700
+ msg.clear_map_string_int32
701
+
702
+ assert !msg.respond_to?(:has_map_string_int32?)
703
+ assert_raise NoMethodError do
704
+ msg.has_map_string_int32?
705
+ end
706
+ assert !msg.respond_to?(:map_string_int32_as_value)
707
+ assert_raise NoMethodError do
708
+ msg.map_string_int32_as_value
709
+ end
710
+ assert !msg.respond_to?(:map_string_int32_as_value=)
711
+ assert_raise NoMethodError do
712
+ msg.map_string_int32_as_value = :boom
713
+ end
714
+ end
715
+ end
716
+
717
+ def test_oneof_fields_respond_to? # regression test for issue 9202
718
+ msg = proto_module::OneofMessage.new
719
+ # `has_` prefix + "?" suffix actions should only work for oneofs fields.
720
+ assert msg.has_my_oneof?
721
+ assert msg.respond_to? :has_my_oneof?
722
+ assert !msg.respond_to?( :has_a? )
723
+ assert_raise NoMethodError do
724
+ msg.has_a?
725
+ end
726
+ assert !msg.respond_to?( :has_b? )
727
+ assert_raise NoMethodError do
728
+ msg.has_b?
729
+ end
730
+ assert !msg.respond_to?( :has_c? )
731
+ assert_raise NoMethodError do
732
+ msg.has_c?
733
+ end
734
+ assert !msg.respond_to?( :has_d? )
735
+ assert_raise NoMethodError do
736
+ msg.has_d?
737
+ end
669
738
  end
670
739
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-protobuf
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.20.0
4
+ version: 3.20.1.rc.1
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - Protobuf Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-01 00:00:00.000000000 Z
11
+ date: 2022-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler-dock
@@ -113,7 +113,7 @@ homepage: https://developers.google.com/protocol-buffers
113
113
  licenses:
114
114
  - BSD-3-Clause
115
115
  metadata:
116
- source_code_uri: https://github.com/protocolbuffers/protobuf/tree/v3.20.0/ruby
116
+ source_code_uri: https://github.com/protocolbuffers/protobuf/tree/v3.20.1-rc1/ruby
117
117
  post_install_message:
118
118
  rdoc_options: []
119
119
  require_paths:
@@ -128,9 +128,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
128
128
  version: 3.2.dev
129
129
  required_rubygems_version: !ruby/object:Gem::Requirement
130
130
  requirements:
131
- - - ">="
131
+ - - ">"
132
132
  - !ruby/object:Gem::Version
133
- version: '0'
133
+ version: 1.3.1
134
134
  requirements: []
135
135
  rubygems_version: 3.3.4
136
136
  signing_key: