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