encoding/textpb: fix marshaling repeated group field name

In https://golang.org/cl/157821, I attempted to fix handling of group
field names but forgot about repeated group fields as I forgot to
properly update the marshaling tests as well for it.

Unmarshal logic for both repeated and non-repeated was already fixed in
that CL.

Change-Id: Icb4a00d8b169709ca12dfee272b2bd73e7585e6e
Reviewed-on: https://go-review.googlesource.com/c/157857
Reviewed-by: Damien Neil <dneil@google.com>
This commit is contained in:
Herbie Ong 2019-01-14 19:26:50 -08:00
parent 66c365cf72
commit de7313b557
2 changed files with 7 additions and 6 deletions

View File

@ -127,6 +127,11 @@ func (o MarshalOptions) marshalMessage(m pref.Message) (text.Value, error) {
func (o MarshalOptions) appendField(msgFields [][2]text.Value, tname text.Value, pval pref.Value, fd pref.FieldDescriptor) ([][2]text.Value, error) {
var nerr errors.NonFatal
// Use type name for group field name.
if fd.Kind() == pref.GroupKind {
tname = text.ValueOf(fd.MessageType().Name())
}
if fd.Cardinality() == pref.Repeated {
// Map or repeated fields.
var items []text.Value
@ -153,10 +158,6 @@ func (o MarshalOptions) appendField(msgFields [][2]text.Value, tname text.Value,
if !nerr.Merge(err) {
return msgFields, err
}
// Use type name for group field name.
if fd.Kind() == pref.GroupKind {
tname = text.ValueOf(fd.MessageType().Name())
}
msgFields = append(msgFields, [2]text.Value{tname, tval})
}

View File

@ -537,11 +537,11 @@ rpt_nested: {}
{},
},
},
want: `rptgroup: {
want: `RptGroup: {
rpt_bool: true
rpt_bool: false
}
rptgroup: {}
RptGroup: {}
`,
}, {
desc: "map fields empty",