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>
diff --git a/encoding/textpb/encode.go b/encoding/textpb/encode.go
index 77606da..54f4f54 100644
--- a/encoding/textpb/encode.go
+++ b/encoding/textpb/encode.go
@@ -127,6 +127,11 @@
 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 @@
 		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})
 	}
 
diff --git a/encoding/textpb/encode_test.go b/encoding/textpb/encode_test.go
index 15a5492..fe4271d 100644
--- a/encoding/textpb/encode_test.go
+++ b/encoding/textpb/encode_test.go
@@ -537,11 +537,11 @@
 				{},
 			},
 		},
-		want: `rptgroup: {
+		want: `RptGroup: {
   rpt_bool: true
   rpt_bool: false
 }
-rptgroup: {}
+RptGroup: {}
 `,
 	}, {
 		desc:  "map fields empty",