diff options
author | Paul Yang <TeBoring@users.noreply.github.com> | 2018-05-25 13:43:22 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-25 13:43:22 -0700 |
commit | 4885b8058a93c1a16efe41fd1830d321e9bb2ce6 (patch) | |
tree | 0069b72edfd5639db022fb985b8a4e57abf6967c /ruby/tests/encode_decode_test.rb | |
parent | 449e532b087e43a45ca6d8eae640a6019e547aca (diff) | |
parent | dadc95438ff732cb0c1d2961ce7bcf0d99d179b1 (diff) | |
download | protobuf-4885b8058a93c1a16efe41fd1830d321e9bb2ce6.tar.gz protobuf-4885b8058a93c1a16efe41fd1830d321e9bb2ce6.tar.bz2 protobuf-4885b8058a93c1a16efe41fd1830d321e9bb2ce6.zip |
Merge pull request #4675 from TeBoring/3.6.x
Cherry-pick php generated code changes into 3.6.x
Diffstat (limited to 'ruby/tests/encode_decode_test.rb')
-rw-r--r-- | ruby/tests/encode_decode_test.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/ruby/tests/encode_decode_test.rb b/ruby/tests/encode_decode_test.rb index 09581ab0..2bd9b98b 100644 --- a/ruby/tests/encode_decode_test.rb +++ b/ruby/tests/encode_decode_test.rb @@ -60,4 +60,28 @@ class EncodeDecodeTest < Test::Unit::TestCase to = A::B::C::TestMessage.encode(m.oneof_msg) assert_equal '', to end + + def test_encode_json + msg = A::B::C::TestMessage.new({ optional_int32: 22 }) + json = msg.to_json + + to = A::B::C::TestMessage.decode_json(json) + assert_equal to.optional_int32, 22 + + msg = A::B::C::TestMessage.new({ optional_int32: 22 }) + json = msg.to_json({ preserve_proto_fieldnames: true }) + + assert_match 'optional_int32', json + + to = A::B::C::TestMessage.decode_json(json) + assert_equal 22, to.optional_int32 + + msg = A::B::C::TestMessage.new({ optional_int32: 22 }) + json = A::B::C::TestMessage.encode_json( + msg, + { preserve_proto_fieldnames: true, emit_defaults: true } + ) + + assert_match 'optional_int32', json + end end |