@@ -735,6 +735,9 @@ cdef _to_dict(msg, bint verbose):
|
|||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
if msg_type is _DynamicEnum:
|
||||||
|
return str(msg)
|
||||||
|
|
||||||
return msg
|
return msg
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -171,3 +171,11 @@ def test_set_dict_union(addressbook):
|
|||||||
person = addressbook.Person.new_message(**{'employment': {'employer': {'name': 'foo'}}})
|
person = addressbook.Person.new_message(**{'employment': {'employer': {'name': 'foo'}}})
|
||||||
|
|
||||||
assert person.employment.employer.name == 'foo'
|
assert person.employment.employer.name == 'foo'
|
||||||
|
|
||||||
|
|
||||||
|
def test_to_dict_enum(addressbook):
|
||||||
|
person = addressbook.Person.new_message(**{'phones': [{'number': '999-9999', 'type': 'mobile'}]})
|
||||||
|
|
||||||
|
field = person.to_dict()['phones'][0]['type']
|
||||||
|
assert isinstance(field, basestring)
|
||||||
|
assert field == 'mobile'
|
||||||
|
|||||||
Reference in New Issue
Block a user