google-protobuf 3.20.0-x86-linux → 3.20.1.rc.1-x86-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: 28222a37e3062187d809e092a424b222e9408a82c9135602f9dec9505bc090b6
4
- data.tar.gz: cfcd4e79ddcb5b7fc17b4df9e881ec6342116a23d3809519212f2f152ddc8c1d
3
+ metadata.gz: e8e3120958cb4a06c07bfc87224dcef78b2fde8530d9259d56fcf478f6219827
4
+ data.tar.gz: 169a09709d354309ef0f6138b6d840c5bdbeaca6aef47756a7e7eafbd303c3a5
5
5
  SHA512:
6
- metadata.gz: 18e592ad9a37e202d64c66e94277ca820eb261047f06d9d947c1a40a5c6b3b04b0b18c48aea481737c15274925651932f6076a2c8f70c05fd11a04d5f97ec57f
7
- data.tar.gz: a81f81efa53f1406ee12e1786b46cd59cc70890214caff389faf8582033d31b3aa1362e1fdc01d401a0886bde3afffdcce5cb9aaf63856d9deca69f93890e7e4
6
+ metadata.gz: 63728b3eb7f8423e2bc76320c8a331a499b2ce4e0b5bd0c9933d261c98f18ecae9c5b892be910a7eda6e92aea9bc5e44188f88e035a77b91a255f69f72dd4120
7
+ data.tar.gz: bd86924201ae36494fb5642f242fca2abd55054b623401765f7a0a47d90e8b5bc226bc53c2805516a823270fc472e70a405965e7957d5be808939a880ff5e1ab
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-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: