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