- Notifications
You must be signed in to change notification settings - Fork 16k
Closed
Description
$ cat repo.rb require 'google/protobuf' require 'google/protobuf/wrappers_pb' Google::Protobuf::DescriptorPool.generated_pool.build do add_message "Person" do optional :name, :message, 1, "google.protobuf.StringValue" end end Person = Google::Protobuf::DescriptorPool.generated_pool.lookup("Person").msgclass puts "before decoding" puts hi = Person.new(:name => {:value => "hi"}) puts empty = Person.new(:name => {:value => ""}) puts not_set = Person.new() puts "after decoding" puts Person.decode(hi.to_proto) puts Person.decode(empty.to_proto) puts Person.decode(not_set.to_proto) // at google-protobuf 3.11.0 $ ruby repo.rb before decoding <Person: name: <Google::Protobuf::StringValue: value: "hi">> <Person: name: <Google::Protobuf::StringValue: value: "">> <Person: name: nil> after decoding <Person: name: <Google::Protobuf::StringValue: value: "hi">> <Person: name: nil> <Person: name: nil> // at google-protobuf 3.10.1 $ ruby repo.rb before decoding <Person: name: <Google::Protobuf::StringValue: value: "hi">> <Person: name: <Google::Protobuf::StringValue: value: "">> <Person: name: nil> after decoding <Person: name: <Google::Protobuf::StringValue: value: "hi">> <Person: name: <Google::Protobuf::StringValue: value: "">> <Person: name: nil> $ cat Gemfile.lock source "https://rubygems.org" gem "google-protobuf", "3.10.1"I expect the decoded Person with an empty name to look like
<Person: name: <Google::Protobuf::StringValue: value: "">>
Metadata
Metadata
Assignees
Labels
No labels