diff options
author | Josh Haberman <jhaberman@gmail.com> | 2016-04-14 18:33:17 -0700 |
---|---|---|
committer | Josh Haberman <jhaberman@gmail.com> | 2016-04-14 18:33:17 -0700 |
commit | 194ad621bb7260c4f2f27f3575ce21ab946b786c (patch) | |
tree | 9b1e0fedfdd2857a3312e1c383eb697207e53645 /ruby/tests | |
parent | 90c7f6e55eb43d89f345fc4412a99ac9477055da (diff) | |
download | protobuf-194ad621bb7260c4f2f27f3575ce21ab946b786c.tar.gz protobuf-194ad621bb7260c4f2f27f3575ce21ab946b786c.tar.bz2 protobuf-194ad621bb7260c4f2f27f3575ce21ab946b786c.zip |
Ruby JSON: always accept both camelCase and original field names.
For JSON encoding we provide a new option to decide at
encode time whether to use camelCase or original proto field
names:
json = MapMessage.encode_json(m, :preserve_proto_fieldnames => true)
Diffstat (limited to 'ruby/tests')
-rw-r--r-- | ruby/tests/basic.rb | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ruby/tests/basic.rb b/ruby/tests/basic.rb index 86c74c2a..77c186ef 100644 --- a/ruby/tests/basic.rb +++ b/ruby/tests/basic.rb @@ -1161,7 +1161,12 @@ module BasicTest return if RUBY_PLATFORM == "java" m = MapMessage.new(:map_string_int32 => {"a" => 1}) expected = '{"mapStringInt32":{"a":1},"mapStringMsg":{}}' + expected_preserve = '{"map_string_int32":{"a":1},"map_string_msg":{}}' assert MapMessage.encode_json(m) == expected + + json = MapMessage.encode_json(m, :preserve_proto_fieldnames => true) + assert json == expected_preserve + m2 = MapMessage.decode_json(MapMessage.encode_json(m)) assert m == m2 end |