aboutsummaryrefslogtreecommitdiffhomepage
path: root/ruby/tests
diff options
context:
space:
mode:
authorGravatar Josh Haberman <jhaberman@gmail.com>2016-04-14 18:33:17 -0700
committerGravatar Josh Haberman <jhaberman@gmail.com>2016-04-14 18:33:17 -0700
commit194ad621bb7260c4f2f27f3575ce21ab946b786c (patch)
tree9b1e0fedfdd2857a3312e1c383eb697207e53645 /ruby/tests
parent90c7f6e55eb43d89f345fc4412a99ac9477055da (diff)
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.rb5
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