encoding/textpb: clean up tests on Any

Remove unnecessary v1 wrapping. Change most tests to operate on message
Any directly.

Change-Id: I19bbca6c1af72894f6a292aab8ebd09e0301a260
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/168517
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
diff --git a/encoding/textpb/decode_test.go b/encoding/textpb/decode_test.go
index 14b7c7c..b463023 100644
--- a/encoding/textpb/decode_test.go
+++ b/encoding/textpb/decode_test.go
@@ -57,7 +57,7 @@
 		inputMessage proto.Message
 		inputText    string
 		wantMessage  proto.Message
-		wantErr      bool
+		wantErr      bool // TODO: Verify error message content.
 	}{{
 		desc:         "proto2 empty message",
 		inputMessage: &pb2.Scalars{},
@@ -1254,8 +1254,7 @@
 		inputText: `
 [pb2.message_set_extension]: {
   opt_string: "another not a messageset extension"
-}
-`,
+}`,
 		wantMessage: func() proto.Message {
 			m := &pb2.MessageSet{}
 			setExtension(m, pb2.E_MessageSetExtension, &pb2.FakeMessageSetExtension{
@@ -1264,59 +1263,41 @@
 			return m
 		}(),
 	}, {
-		// TODO: Change these tests to directly use knownpb.Any type instead once
-		// type has been regenerated with V2 compiler.
 		desc:         "Any not expanded",
-		inputMessage: &pb2.KnownTypes{},
-		inputText: `opt_any: {
+		inputMessage: &knownpb.Any{},
+		inputText: `
 type_url: "pb2.Nested"
 value: "some bytes"
-}
 `,
-		wantMessage: &pb2.KnownTypes{
-			OptAny: &knownpb.Any{
-				TypeUrl: "pb2.Nested",
-				Value:   []byte("some bytes"),
-			},
+		wantMessage: &knownpb.Any{
+			TypeUrl: "pb2.Nested",
+			Value:   []byte("some bytes"),
 		},
 	}, {
 		desc:         "Any not expanded missing value",
-		inputMessage: &pb2.KnownTypes{},
-		inputText: `opt_any: {
-type_url: "pb2.Nested"
-}
-`,
-		wantMessage: &pb2.KnownTypes{
-			OptAny: &knownpb.Any{
-				TypeUrl: "pb2.Nested",
-			},
+		inputMessage: &knownpb.Any{},
+		inputText:    `type_url: "pb2.Nested"`,
+		wantMessage: &knownpb.Any{
+			TypeUrl: "pb2.Nested",
 		},
 	}, {
 		desc:         "Any not expanded missing type_url",
-		inputMessage: &pb2.KnownTypes{},
-		inputText: `opt_any: {
-value: "some bytes"
-}
-`,
-		wantMessage: &pb2.KnownTypes{
-			OptAny: &knownpb.Any{
-				Value: []byte("some bytes"),
-			},
+		inputMessage: &knownpb.Any{},
+		inputText:    `value: "some bytes"`,
+		wantMessage: &knownpb.Any{
+			Value: []byte("some bytes"),
 		},
 	}, {
 		desc: "Any expanded",
-		umo: func() textpb.UnmarshalOptions {
-			m := &pb2.Nested{}
-			resolver := preg.NewTypes(m.ProtoReflect().Type())
-			return textpb.UnmarshalOptions{Resolver: resolver}
-		}(),
-		inputMessage: &pb2.KnownTypes{},
-		inputText: `opt_any: {
-  [foobar/pb2.Nested]: {
-    opt_string: "embedded inside Any"
-    opt_nested: {
-      opt_string: "inception"
-    }
+		umo: textpb.UnmarshalOptions{
+			Resolver: preg.NewTypes((&pb2.Nested{}).ProtoReflect().Type()),
+		},
+		inputMessage: &knownpb.Any{},
+		inputText: `
+[foobar/pb2.Nested]: {
+  opt_string: "embedded inside Any"
+  opt_nested: {
+    opt_string: "inception"
   }
 }
 `,
@@ -1331,110 +1312,82 @@
 			if err != nil {
 				t.Fatalf("error in binary marshaling message for Any.value: %v", err)
 			}
-			return &pb2.KnownTypes{
-				OptAny: &knownpb.Any{
-					TypeUrl: "foobar/pb2.Nested",
-					Value:   b,
-				},
+			return &knownpb.Any{
+				TypeUrl: "foobar/pb2.Nested",
+				Value:   b,
 			}
 		}(),
 	}, {
 		desc: "Any expanded with empty value",
-		umo: func() textpb.UnmarshalOptions {
-			m := &pb2.Nested{}
-			resolver := preg.NewTypes(m.ProtoReflect().Type())
-			return textpb.UnmarshalOptions{Resolver: resolver}
-		}(),
-		inputMessage: &pb2.KnownTypes{},
-		inputText: `opt_any: {
-[foo.com/pb2.Nested]: {}
-}
-`,
-		wantMessage: &pb2.KnownTypes{
-			OptAny: &knownpb.Any{
-				TypeUrl: "foo.com/pb2.Nested",
-			},
+		umo: textpb.UnmarshalOptions{
+			Resolver: preg.NewTypes((&pb2.Nested{}).ProtoReflect().Type()),
+		},
+		inputMessage: &knownpb.Any{},
+		inputText:    `[foo.com/pb2.Nested]: {}`,
+		wantMessage: &knownpb.Any{
+			TypeUrl: "foo.com/pb2.Nested",
 		},
 	}, {
 		desc: "Any expanded with missing required error",
-		umo: func() textpb.UnmarshalOptions {
-			m := &pb2.PartialRequired{}
-			resolver := preg.NewTypes(m.ProtoReflect().Type())
-			return textpb.UnmarshalOptions{Resolver: resolver}
-		}(),
-		inputMessage: &pb2.KnownTypes{},
-		inputText: `opt_any: {
-  [pb2.PartialRequired]: {
-    opt_string: "embedded inside Any"
-  }
+		umo: textpb.UnmarshalOptions{
+			Resolver: preg.NewTypes((&pb2.PartialRequired{}).ProtoReflect().Type()),
+		},
+		inputMessage: &knownpb.Any{},
+		inputText: `
+[pb2.PartialRequired]: {
+  opt_string: "embedded inside Any"
 }
 `,
 		wantMessage: func() proto.Message {
 			m := &pb2.PartialRequired{
 				OptString: scalar.String("embedded inside Any"),
 			}
-			// TODO: Switch to V2 marshal when ready.
-			b, err := protoV1.Marshal(m)
-			// Ignore required not set error.
-			if _, ok := err.(*protoV1.RequiredNotSetError); !ok {
+			b, err := proto.MarshalOptions{Deterministic: true}.Marshal(m)
+			// TODO: Marshal may fail due to required field not set at some
+			// point. Need to ignore required not set error here.
+			if err != nil {
 				t.Fatalf("error in binary marshaling message for Any.value: %v", err)
 			}
-			return &pb2.KnownTypes{
-				OptAny: &knownpb.Any{
-					TypeUrl: "pb2.PartialRequired",
-					Value:   b,
-				},
+			return &knownpb.Any{
+				TypeUrl: "pb2.PartialRequired",
+				Value:   b,
 			}
 		}(),
 		wantErr: true,
 	}, {
 		desc:         "Any expanded with unregistered type",
 		umo:          textpb.UnmarshalOptions{Resolver: preg.NewTypes()},
-		inputMessage: &pb2.KnownTypes{},
-		inputText: `opt_any: {
-[SomeMessage]: {}
-}
-`,
-		wantErr: true,
+		inputMessage: &knownpb.Any{},
+		inputText:    `[SomeMessage]: {}`,
+		wantErr:      true,
 	}, {
 		desc: "Any expanded with invalid value",
-		umo: func() textpb.UnmarshalOptions {
-			m := &pb2.Nested{}
-			resolver := preg.NewTypes(m.ProtoReflect().Type())
-			return textpb.UnmarshalOptions{Resolver: resolver}
-		}(),
-		inputMessage: &pb2.KnownTypes{},
-		inputText: `opt_any: {
-[pb2.Nested]: 123
-}
-`,
-		wantErr: true,
+		umo: textpb.UnmarshalOptions{
+			Resolver: preg.NewTypes((&pb2.Nested{}).ProtoReflect().Type()),
+		},
+		inputMessage: &knownpb.Any{},
+		inputText:    `[pb2.Nested]: 123`,
+		wantErr:      true,
 	}, {
 		desc: "Any expanded with unknown fields",
-		umo: func() textpb.UnmarshalOptions {
-			m := &pb2.Nested{}
-			resolver := preg.NewTypes(m.ProtoReflect().Type())
-			return textpb.UnmarshalOptions{Resolver: resolver}
-		}(),
-		inputMessage: &pb2.KnownTypes{},
-		inputText: `opt_any: {
+		umo: textpb.UnmarshalOptions{
+			Resolver: preg.NewTypes((&pb2.Nested{}).ProtoReflect().Type()),
+		},
+		inputMessage: &knownpb.Any{},
+		inputText: `
 [pb2.Nested]: {}
 unknown: ""
-}
 `,
 		wantErr: true,
 	}, {
 		desc: "Any contains expanded and unexpanded fields",
-		umo: func() textpb.UnmarshalOptions {
-			m := &pb2.Nested{}
-			resolver := preg.NewTypes(m.ProtoReflect().Type())
-			return textpb.UnmarshalOptions{Resolver: resolver}
-		}(),
-		inputMessage: &pb2.KnownTypes{},
-		inputText: `opt_any: {
+		umo: textpb.UnmarshalOptions{
+			Resolver: preg.NewTypes((&pb2.Nested{}).ProtoReflect().Type()),
+		},
+		inputMessage: &knownpb.Any{},
+		inputText: `
 [pb2.Nested]: {}
 type_url: "pb2.Nested"
-}
 `,
 		wantErr: true,
 	}}