예제 #1
0
 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": {}'
                    '}'))
예제 #2
0
 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)
예제 #3
0
    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()