def testMapFields(self): message = json_format_proto3_pb2.TestNestedMap() self.assertEqual( json.loads(json_format.MessageToJson(message, True)), json.loads('{' '"boolMap": {},' '"int32Map": {},' '"int64Map": {},' '"uint32Map": {},' '"uint64Map": {},' '"stringMap": {},' '"mapMap": {}' '}'))
def testMapFields(self): message = json_format_proto3_pb2.TestNestedMap() self.assertEqual( json.loads(json_format.MessageToJson(message, True)), json.loads('{' '"boolMap": {},' '"int32Map": {},' '"int64Map": {},' '"uint32Map": {},' '"uint64Map": {},' '"stringMap": {},' '"mapMap": {}' '}')) message.bool_map[True] = 1 message.bool_map[False] = 2 message.int32_map[1] = 2 message.int32_map[2] = 3 message.int64_map[1] = 2 message.int64_map[2] = 3 message.uint32_map[1] = 2 message.uint32_map[2] = 3 message.uint64_map[1] = 2 message.uint64_map[2] = 3 message.string_map['1'] = 2 message.string_map['null'] = 3 message.map_map['1'].bool_map[True] = 3 self.assertEqual( json.loads(json_format.MessageToJson(message, False)), json.loads('{' '"boolMap": {"false": 2, "true": 1},' '"int32Map": {"1": 2, "2": 3},' '"int64Map": {"1": 2, "2": 3},' '"uint32Map": {"1": 2, "2": 3},' '"uint64Map": {"1": 2, "2": 3},' '"stringMap": {"1": 2, "null": 3},' '"mapMap": {"1": {"boolMap": {"true": 3}}}' '}')) parsed_message = json_format_proto3_pb2.TestNestedMap() self.CheckParseBack(message, parsed_message)
message.uint64_map[2] = 3 message.string_map['1'] = 2 message.string_map['null'] = 3 message.map_map['1'].bool_map[True] = 3 self.assertEqual( json.loads(json_format.MessageToJson(message, False)), json.loads('{' '"boolMap": {"false": 2, "true": 1},' '"int32Map": {"1": 2, "2": 3},' '"int64Map": {"1": 2, "2": 3},' '"uint32Map": {"1": 2, "2": 3},' '"uint64Map": {"1": 2, "2": 3},' '"stringMap": {"1": 2, "null": 3},' '"mapMap": {"1": {"boolMap": {"true": 3}}}' '}')) parsed_message = json_format_proto3_pb2.TestNestedMap() self.CheckParseBack(message, parsed_message) def testOneofFields(self): message = json_format_proto3_pb2.TestOneof() # Always print does not affect oneof fields. self.assertEqual( json_format.MessageToJson(message, True), '{}') message.oneof_int32_value = 0 self.assertEqual( json_format.MessageToJson(message, True), '{\n' ' "oneofInt32Value": 0\n' '}') parsed_message = json_format_proto3_pb2.TestOneof()