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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

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: