1package descriptor_test 2 3import ( 4 "fmt" 5 "testing" 6 7 tpb "github.com/gogo/protobuf/proto/testdata" 8 "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" 9) 10 11func TestMessage(t *testing.T) { 12 var msg *descriptor.DescriptorProto 13 fd, md := descriptor.ForMessage(msg) 14 if pkg, want := fd.GetPackage(), "google.protobuf"; pkg != want { 15 t.Errorf("descriptor.ForMessage(%T).GetPackage() = %q; want %q", msg, pkg, want) 16 } 17 if name, want := md.GetName(), "DescriptorProto"; name != want { 18 t.Fatalf("descriptor.ForMessage(%T).GetName() = %q; want %q", msg, name, want) 19 } 20} 21 22func Example_Options() { 23 var msg *tpb.MyMessageSet 24 _, md := descriptor.ForMessage(msg) 25 if md.GetOptions().GetMessageSetWireFormat() { 26 fmt.Printf("%v uses option message_set_wire_format.\n", md.GetName()) 27 } 28 29 // Output: 30 // MyMessageSet uses option message_set_wire_format. 31} 32