goprotobuf: Fix parsing of repeated enum fields.
R=r
CC=golang-dev
http://codereview.appspot.com/5239052
diff --git a/proto/text_parser_test.go b/proto/text_parser_test.go
index 4e3f4e9..2383828 100644
--- a/proto/text_parser_test.go
+++ b/proto/text_parser_test.go
@@ -252,9 +252,8 @@
if err != nil {
t.Errorf("Test %d: Unexpected error: %v", i, err)
} else if !reflect.DeepEqual(pb, test.out) {
- t.Errorf("Test %d: Incorrect populated \n"+
- "Have: %v\nWant: %v",
- i, CompactTextString(pb), CompactTextString(test.out))
+ t.Errorf("Test %d: Incorrect populated \nHave: %v\nWant: %v",
+ i, pb, test.out)
}
} else {
// We do expect failure.
@@ -268,6 +267,20 @@
}
}
+// Regression test; this caused a panic.
+func TestRepeatedEnum(t *testing.T) {
+ pb := new(RepeatedEnum)
+ if err := UnmarshalText("color: RED", pb); err != nil {
+ t.Fatal(err)
+ }
+ exp := &RepeatedEnum{
+ Color: []RepeatedEnum_Color{RepeatedEnum_RED},
+ }
+ if !reflect.DeepEqual(pb, exp) {
+ t.Errorf("Incorrect populated \nHave: %v\nWant: %v", pb, exp)
+ }
+}
+
var benchInput string
func init() {