1 package descriptor_test
7 "github.com/golang/protobuf/descriptor"
8 tpb "github.com/golang/protobuf/proto/testdata"
9 protobuf "github.com/golang/protobuf/protoc-gen-go/descriptor"
12 func TestMessage(t *testing.T) {
13 var msg *protobuf.DescriptorProto
14 fd, md := descriptor.ForMessage(msg)
15 if pkg, want := fd.GetPackage(), "google.protobuf"; pkg != want {
16 t.Errorf("descriptor.ForMessage(%T).GetPackage() = %q; want %q", msg, pkg, want)
18 if name, want := md.GetName(), "DescriptorProto"; name != want {
19 t.Fatalf("descriptor.ForMessage(%T).GetName() = %q; want %q", msg, name, want)
23 func Example_Options() {
24 var msg *tpb.MyMessageSet
25 _, md := descriptor.ForMessage(msg)
26 if md.GetOptions().GetMessageSetWireFormat() {
27 fmt.Printf("%v uses option message_set_wire_format.\n", md.GetName())
31 // MyMessageSet uses option message_set_wire_format.