aboutsummaryrefslogtreecommitdiff
path: root/internal/filedesc/desc_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/filedesc/desc_test.go')
-rw-r--r--internal/filedesc/desc_test.go204
1 files changed, 102 insertions, 102 deletions
diff --git a/internal/filedesc/desc_test.go b/internal/filedesc/desc_test.go
index 4f204f88..21919d1e 100644
--- a/internal/filedesc/desc_test.go
+++ b/internal/filedesc/desc_test.go
@@ -14,11 +14,11 @@ import (
"github.com/google/go-cmp/cmp"
- detrand "google.golang.org/protobuf/internal/detrand"
+ "google.golang.org/protobuf/internal/detrand"
"google.golang.org/protobuf/internal/filedesc"
"google.golang.org/protobuf/proto"
- pdesc "google.golang.org/protobuf/reflect/protodesc"
- pref "google.golang.org/protobuf/reflect/protoreflect"
+ "google.golang.org/protobuf/reflect/protodesc"
+ "google.golang.org/protobuf/reflect/protoreflect"
"google.golang.org/protobuf/types/descriptorpb"
)
@@ -46,44 +46,44 @@ func TestFile(t *testing.T) {
Field: []*descriptorpb.FieldDescriptorProto{{
Name: proto.String("field_one"),
Number: proto.Int32(1),
- Label: descriptorpb.FieldDescriptorProto_Label(pref.Optional).Enum(),
- Type: descriptorpb.FieldDescriptorProto_Type(pref.StringKind).Enum(),
+ Label: descriptorpb.FieldDescriptorProto_Label(protoreflect.Optional).Enum(),
+ Type: descriptorpb.FieldDescriptorProto_Type(protoreflect.StringKind).Enum(),
DefaultValue: proto.String("hello, \"world!\"\n"),
OneofIndex: proto.Int32(0),
}, {
Name: proto.String("field_two"),
JsonName: proto.String("Field2"),
Number: proto.Int32(2),
- Label: descriptorpb.FieldDescriptorProto_Label(pref.Optional).Enum(),
- Type: descriptorpb.FieldDescriptorProto_Type(pref.EnumKind).Enum(),
+ Label: descriptorpb.FieldDescriptorProto_Label(protoreflect.Optional).Enum(),
+ Type: descriptorpb.FieldDescriptorProto_Type(protoreflect.EnumKind).Enum(),
DefaultValue: proto.String("BAR"),
TypeName: proto.String(".test.E1"),
OneofIndex: proto.Int32(1),
}, {
Name: proto.String("field_three"),
Number: proto.Int32(3),
- Label: descriptorpb.FieldDescriptorProto_Label(pref.Optional).Enum(),
- Type: descriptorpb.FieldDescriptorProto_Type(pref.MessageKind).Enum(),
+ Label: descriptorpb.FieldDescriptorProto_Label(protoreflect.Optional).Enum(),
+ Type: descriptorpb.FieldDescriptorProto_Type(protoreflect.MessageKind).Enum(),
TypeName: proto.String(".test.C"),
OneofIndex: proto.Int32(1),
}, {
Name: proto.String("field_four"),
JsonName: proto.String("Field4"),
Number: proto.Int32(4),
- Label: descriptorpb.FieldDescriptorProto_Label(pref.Repeated).Enum(),
- Type: descriptorpb.FieldDescriptorProto_Type(pref.MessageKind).Enum(),
+ Label: descriptorpb.FieldDescriptorProto_Label(protoreflect.Repeated).Enum(),
+ Type: descriptorpb.FieldDescriptorProto_Type(protoreflect.MessageKind).Enum(),
TypeName: proto.String(".test.B.FieldFourEntry"),
}, {
Name: proto.String("field_five"),
Number: proto.Int32(5),
- Label: descriptorpb.FieldDescriptorProto_Label(pref.Repeated).Enum(),
- Type: descriptorpb.FieldDescriptorProto_Type(pref.Int32Kind).Enum(),
+ Label: descriptorpb.FieldDescriptorProto_Label(protoreflect.Repeated).Enum(),
+ Type: descriptorpb.FieldDescriptorProto_Type(protoreflect.Int32Kind).Enum(),
Options: &descriptorpb.FieldOptions{Packed: proto.Bool(true)},
}, {
Name: proto.String("field_six"),
Number: proto.Int32(6),
- Label: descriptorpb.FieldDescriptorProto_Label(pref.Required).Enum(),
- Type: descriptorpb.FieldDescriptorProto_Type(pref.BytesKind).Enum(),
+ Label: descriptorpb.FieldDescriptorProto_Label(protoreflect.Required).Enum(),
+ Type: descriptorpb.FieldDescriptorProto_Type(protoreflect.BytesKind).Enum(),
}},
OneofDecl: []*descriptorpb.OneofDescriptorProto{
{
@@ -110,13 +110,13 @@ func TestFile(t *testing.T) {
Field: []*descriptorpb.FieldDescriptorProto{{
Name: proto.String("key"),
Number: proto.Int32(1),
- Label: descriptorpb.FieldDescriptorProto_Label(pref.Optional).Enum(),
- Type: descriptorpb.FieldDescriptorProto_Type(pref.StringKind).Enum(),
+ Label: descriptorpb.FieldDescriptorProto_Label(protoreflect.Optional).Enum(),
+ Type: descriptorpb.FieldDescriptorProto_Type(protoreflect.StringKind).Enum(),
}, {
Name: proto.String("value"),
Number: proto.Int32(2),
- Label: descriptorpb.FieldDescriptorProto_Label(pref.Optional).Enum(),
- Type: descriptorpb.FieldDescriptorProto_Type(pref.MessageKind).Enum(),
+ Label: descriptorpb.FieldDescriptorProto_Label(protoreflect.Optional).Enum(),
+ Type: descriptorpb.FieldDescriptorProto_Type(protoreflect.MessageKind).Enum(),
TypeName: proto.String(".test.B"),
}},
Options: &descriptorpb.MessageOptions{
@@ -130,8 +130,8 @@ func TestFile(t *testing.T) {
Field: []*descriptorpb.FieldDescriptorProto{{
Name: proto.String("F"),
Number: proto.Int32(1),
- Label: descriptorpb.FieldDescriptorProto_Label(pref.Required).Enum(),
- Type: descriptorpb.FieldDescriptorProto_Type(pref.BytesKind).Enum(),
+ Label: descriptorpb.FieldDescriptorProto_Label(protoreflect.Required).Enum(),
+ Type: descriptorpb.FieldDescriptorProto_Type(protoreflect.BytesKind).Enum(),
DefaultValue: proto.String(`dead\276\357`),
}},
}},
@@ -145,8 +145,8 @@ func TestFile(t *testing.T) {
Extension: []*descriptorpb.FieldDescriptorProto{{
Name: proto.String("X"),
Number: proto.Int32(1000),
- Label: descriptorpb.FieldDescriptorProto_Label(pref.Repeated).Enum(),
- Type: descriptorpb.FieldDescriptorProto_Type(pref.MessageKind).Enum(),
+ Label: descriptorpb.FieldDescriptorProto_Label(protoreflect.Repeated).Enum(),
+ Type: descriptorpb.FieldDescriptorProto_Type(protoreflect.MessageKind).Enum(),
TypeName: proto.String(".test.C"),
Extendee: proto.String(".test.B"),
}},
@@ -171,8 +171,8 @@ func TestFile(t *testing.T) {
Extension: []*descriptorpb.FieldDescriptorProto{{
Name: proto.String("X"),
Number: proto.Int32(1000),
- Label: descriptorpb.FieldDescriptorProto_Label(pref.Repeated).Enum(),
- Type: descriptorpb.FieldDescriptorProto_Type(pref.EnumKind).Enum(),
+ Label: descriptorpb.FieldDescriptorProto_Label(protoreflect.Repeated).Enum(),
+ Type: descriptorpb.FieldDescriptorProto_Type(protoreflect.EnumKind).Enum(),
Options: &descriptorpb.FieldOptions{Packed: proto.Bool(true)},
TypeName: proto.String(".test.E1"),
Extendee: proto.String(".test.B"),
@@ -190,7 +190,7 @@ func TestFile(t *testing.T) {
}},
}},
}
- fd1, err := pdesc.NewFile(f1, nil)
+ fd1, err := protodesc.NewFile(f1, nil)
if err != nil {
t.Fatalf("protodesc.NewFile() error: %v", err)
}
@@ -203,7 +203,7 @@ func TestFile(t *testing.T) {
tests := []struct {
name string
- desc pref.FileDescriptor
+ desc protoreflect.FileDescriptor
}{
{"protodesc.NewFile", fd1},
{"filedesc.Builder.Build", fd2},
@@ -220,28 +220,28 @@ func TestFile(t *testing.T) {
}
}
-func testFileAccessors(t *testing.T, fd pref.FileDescriptor) {
+func testFileAccessors(t *testing.T, fd protoreflect.FileDescriptor) {
// Represent the descriptor as a map where each key is an accessor method
// and the value is either the wanted tail value or another accessor map.
type M = map[string]interface{}
want := M{
"Parent": nil,
"Index": 0,
- "Syntax": pref.Proto2,
- "Name": pref.Name("test"),
- "FullName": pref.FullName("test"),
+ "Syntax": protoreflect.Proto2,
+ "Name": protoreflect.Name("test"),
+ "FullName": protoreflect.FullName("test"),
"Path": "path/to/file.proto",
- "Package": pref.FullName("test"),
+ "Package": protoreflect.FullName("test"),
"IsPlaceholder": false,
"Options": &descriptorpb.FileOptions{Deprecated: proto.Bool(true)},
"Messages": M{
"Len": 3,
"Get:0": M{
- "Parent": M{"FullName": pref.FullName("test")},
+ "Parent": M{"FullName": protoreflect.FullName("test")},
"Index": 0,
- "Syntax": pref.Proto2,
- "Name": pref.Name("A"),
- "FullName": pref.FullName("test.A"),
+ "Syntax": protoreflect.Proto2,
+ "Name": protoreflect.Name("A"),
+ "FullName": protoreflect.FullName("test.A"),
"IsPlaceholder": false,
"IsMapEntry": false,
"Options": &descriptorpb.MessageOptions{
@@ -255,27 +255,27 @@ func testFileAccessors(t *testing.T, fd pref.FileDescriptor) {
"Extensions": M{"Len": 0},
},
"ByName:B": M{
- "Name": pref.Name("B"),
+ "Name": protoreflect.Name("B"),
"Index": 1,
"Fields": M{
"Len": 6,
"ByJSONName:field_one": nil,
"ByJSONName:fieldOne": M{
- "Name": pref.Name("field_one"),
+ "Name": protoreflect.Name("field_one"),
"Index": 0,
"JSONName": "fieldOne",
"Default": "hello, \"world!\"\n",
- "ContainingOneof": M{"Name": pref.Name("O1"), "IsPlaceholder": false},
- "ContainingMessage": M{"FullName": pref.FullName("test.B")},
+ "ContainingOneof": M{"Name": protoreflect.Name("O1"), "IsPlaceholder": false},
+ "ContainingMessage": M{"FullName": protoreflect.FullName("test.B")},
},
"ByJSONName:fieldTwo": nil,
"ByJSONName:Field2": M{
- "Name": pref.Name("field_two"),
+ "Name": protoreflect.Name("field_two"),
"Index": 1,
"HasJSONName": true,
"JSONName": "Field2",
- "Default": pref.EnumNumber(1),
- "ContainingOneof": M{"Name": pref.Name("O2"), "IsPlaceholder": false},
+ "Default": protoreflect.EnumNumber(1),
+ "ContainingOneof": M{"Name": protoreflect.Name("O2"), "IsPlaceholder": false},
},
"ByName:fieldThree": nil,
"ByName:field_three": M{
@@ -283,31 +283,31 @@ func testFileAccessors(t *testing.T, fd pref.FileDescriptor) {
"IsMap": false,
"MapKey": nil,
"MapValue": nil,
- "Message": M{"FullName": pref.FullName("test.C"), "IsPlaceholder": false},
- "ContainingOneof": M{"Name": pref.Name("O2"), "IsPlaceholder": false},
- "ContainingMessage": M{"FullName": pref.FullName("test.B")},
+ "Message": M{"FullName": protoreflect.FullName("test.C"), "IsPlaceholder": false},
+ "ContainingOneof": M{"Name": protoreflect.Name("O2"), "IsPlaceholder": false},
+ "ContainingMessage": M{"FullName": protoreflect.FullName("test.B")},
},
"ByNumber:12": nil,
"ByNumber:4": M{
- "Cardinality": pref.Repeated,
+ "Cardinality": protoreflect.Repeated,
"IsExtension": false,
"IsList": false,
"IsMap": true,
- "MapKey": M{"Kind": pref.StringKind},
- "MapValue": M{"Kind": pref.MessageKind, "Message": M{"FullName": pref.FullName("test.B")}},
+ "MapKey": M{"Kind": protoreflect.StringKind},
+ "MapValue": M{"Kind": protoreflect.MessageKind, "Message": M{"FullName": protoreflect.FullName("test.B")}},
"Default": nil,
- "Message": M{"FullName": pref.FullName("test.B.FieldFourEntry"), "IsPlaceholder": false},
+ "Message": M{"FullName": protoreflect.FullName("test.B.FieldFourEntry"), "IsPlaceholder": false},
},
"ByNumber:5": M{
- "Cardinality": pref.Repeated,
- "Kind": pref.Int32Kind,
+ "Cardinality": protoreflect.Repeated,
+ "Kind": protoreflect.Int32Kind,
"IsPacked": true,
"IsList": true,
"IsMap": false,
"Default": nil,
},
"ByNumber:6": M{
- "Cardinality": pref.Required,
+ "Cardinality": protoreflect.Required,
"Default": []byte(nil),
"ContainingOneof": nil,
},
@@ -316,7 +316,7 @@ func testFileAccessors(t *testing.T, fd pref.FileDescriptor) {
"Len": 2,
"ByName:O0": nil,
"ByName:O1": M{
- "FullName": pref.FullName("test.B.O1"),
+ "FullName": protoreflect.FullName("test.B.O1"),
"Index": 0,
"Options": &descriptorpb.OneofOptions{
UninterpretedOption: []*descriptorpb.UninterpretedOption{
@@ -325,28 +325,28 @@ func testFileAccessors(t *testing.T, fd pref.FileDescriptor) {
},
"Fields": M{
"Len": 1,
- "Get:0": M{"FullName": pref.FullName("test.B.field_one")},
+ "Get:0": M{"FullName": protoreflect.FullName("test.B.field_one")},
},
},
"Get:1": M{
- "FullName": pref.FullName("test.B.O2"),
+ "FullName": protoreflect.FullName("test.B.O2"),
"Index": 1,
"Fields": M{
"Len": 2,
- "ByName:field_two": M{"Name": pref.Name("field_two")},
- "Get:1": M{"Name": pref.Name("field_three")},
+ "ByName:field_two": M{"Name": protoreflect.Name("field_two")},
+ "Get:1": M{"Name": protoreflect.Name("field_three")},
},
},
},
"ReservedNames": M{
"Len": 2,
- "Get:0": pref.Name("fizz"),
+ "Get:0": protoreflect.Name("fizz"),
"Has:buzz": true,
"Has:noexist": false,
},
"ReservedRanges": M{
"Len": 2,
- "Get:0": [2]pref.FieldNumber{100, 200},
+ "Get:0": [2]protoreflect.FieldNumber{100, 200},
"Has:99": false,
"Has:100": true,
"Has:150": true,
@@ -357,13 +357,13 @@ func testFileAccessors(t *testing.T, fd pref.FileDescriptor) {
},
"RequiredNumbers": M{
"Len": 1,
- "Get:0": pref.FieldNumber(6),
+ "Get:0": protoreflect.FieldNumber(6),
"Has:1": false,
"Has:6": true,
},
"ExtensionRanges": M{
"Len": 2,
- "Get:0": [2]pref.FieldNumber{1000, 2000},
+ "Get:0": [2]protoreflect.FieldNumber{1000, 2000},
"Has:999": false,
"Has:1000": true,
"Has:1500": true,
@@ -379,13 +379,13 @@ func testFileAccessors(t *testing.T, fd pref.FileDescriptor) {
"Fields": M{
"Len": 2,
"ByNumber:1": M{
- "Parent": M{"FullName": pref.FullName("test.B.FieldFourEntry")},
+ "Parent": M{"FullName": protoreflect.FullName("test.B.FieldFourEntry")},
"Index": 0,
- "Name": pref.Name("key"),
- "FullName": pref.FullName("test.B.FieldFourEntry.key"),
- "Number": pref.FieldNumber(1),
- "Cardinality": pref.Optional,
- "Kind": pref.StringKind,
+ "Name": protoreflect.Name("key"),
+ "FullName": protoreflect.FullName("test.B.FieldFourEntry.key"),
+ "Number": protoreflect.FieldNumber(1),
+ "Cardinality": protoreflect.Optional,
+ "Kind": protoreflect.StringKind,
"Options": (*descriptorpb.FieldOptions)(nil),
"HasJSONName": false,
"JSONName": "key",
@@ -396,18 +396,18 @@ func testFileAccessors(t *testing.T, fd pref.FileDescriptor) {
"IsWeak": false,
"Default": "",
"ContainingOneof": nil,
- "ContainingMessage": M{"FullName": pref.FullName("test.B.FieldFourEntry")},
+ "ContainingMessage": M{"FullName": protoreflect.FullName("test.B.FieldFourEntry")},
"Message": nil,
"Enum": nil,
},
"ByNumber:2": M{
- "Parent": M{"FullName": pref.FullName("test.B.FieldFourEntry")},
+ "Parent": M{"FullName": protoreflect.FullName("test.B.FieldFourEntry")},
"Index": 1,
- "Name": pref.Name("value"),
- "FullName": pref.FullName("test.B.FieldFourEntry.value"),
- "Number": pref.FieldNumber(2),
- "Cardinality": pref.Optional,
- "Kind": pref.MessageKind,
+ "Name": protoreflect.Name("value"),
+ "FullName": protoreflect.FullName("test.B.FieldFourEntry.value"),
+ "Number": protoreflect.FieldNumber(2),
+ "Cardinality": protoreflect.Optional,
+ "Kind": protoreflect.MessageKind,
"JSONName": "value",
"IsPacked": false,
"IsList": false,
@@ -416,8 +416,8 @@ func testFileAccessors(t *testing.T, fd pref.FileDescriptor) {
"IsWeak": false,
"Default": nil,
"ContainingOneof": nil,
- "ContainingMessage": M{"FullName": pref.FullName("test.B.FieldFourEntry")},
- "Message": M{"FullName": pref.FullName("test.B"), "IsPlaceholder": false},
+ "ContainingMessage": M{"FullName": protoreflect.FullName("test.B.FieldFourEntry")},
+ "Message": M{"FullName": protoreflect.FullName("test.B"), "IsPlaceholder": false},
"Enum": nil,
},
"ByNumber:3": nil,
@@ -426,46 +426,46 @@ func testFileAccessors(t *testing.T, fd pref.FileDescriptor) {
},
},
"Get:2": M{
- "Name": pref.Name("C"),
+ "Name": protoreflect.Name("C"),
"Index": 2,
"Messages": M{
"Len": 1,
- "Get:0": M{"FullName": pref.FullName("test.C.A")},
+ "Get:0": M{"FullName": protoreflect.FullName("test.C.A")},
},
"Enums": M{
"Len": 1,
- "Get:0": M{"FullName": pref.FullName("test.C.E1")},
+ "Get:0": M{"FullName": protoreflect.FullName("test.C.E1")},
},
"Extensions": M{
"Len": 1,
- "Get:0": M{"FullName": pref.FullName("test.C.X")},
+ "Get:0": M{"FullName": protoreflect.FullName("test.C.X")},
},
},
},
"Enums": M{
"Len": 1,
"Get:0": M{
- "Name": pref.Name("E1"),
+ "Name": protoreflect.Name("E1"),
"Options": &descriptorpb.EnumOptions{Deprecated: proto.Bool(true)},
"Values": M{
"Len": 2,
"ByName:Foo": nil,
"ByName:FOO": M{
- "FullName": pref.FullName("test.FOO"),
+ "FullName": protoreflect.FullName("test.FOO"),
"Options": &descriptorpb.EnumValueOptions{Deprecated: proto.Bool(true)},
},
"ByNumber:2": nil,
- "ByNumber:1": M{"FullName": pref.FullName("test.BAR")},
+ "ByNumber:1": M{"FullName": protoreflect.FullName("test.BAR")},
},
"ReservedNames": M{
"Len": 2,
- "Get:0": pref.Name("FIZZ"),
+ "Get:0": protoreflect.Name("FIZZ"),
"Has:BUZZ": true,
"Has:NOEXIST": false,
},
"ReservedRanges": M{
"Len": 2,
- "Get:0": [2]pref.EnumNumber{10, 19},
+ "Get:0": [2]protoreflect.EnumNumber{10, 19},
"Has:9": false,
"Has:10": true,
"Has:15": true,
@@ -479,10 +479,10 @@ func testFileAccessors(t *testing.T, fd pref.FileDescriptor) {
"Extensions": M{
"Len": 1,
"ByName:X": M{
- "Name": pref.Name("X"),
- "Number": pref.FieldNumber(1000),
- "Cardinality": pref.Repeated,
- "Kind": pref.EnumKind,
+ "Name": protoreflect.Name("X"),
+ "Number": protoreflect.FieldNumber(1000),
+ "Cardinality": protoreflect.Repeated,
+ "Kind": protoreflect.EnumKind,
"IsExtension": true,
"IsPacked": true,
"IsList": true,
@@ -490,8 +490,8 @@ func testFileAccessors(t *testing.T, fd pref.FileDescriptor) {
"MapKey": nil,
"MapValue": nil,
"ContainingOneof": nil,
- "ContainingMessage": M{"FullName": pref.FullName("test.B"), "IsPlaceholder": false},
- "Enum": M{"FullName": pref.FullName("test.E1"), "IsPlaceholder": false},
+ "ContainingMessage": M{"FullName": protoreflect.FullName("test.B"), "IsPlaceholder": false},
+ "Enum": M{"FullName": protoreflect.FullName("test.E1"), "IsPlaceholder": false},
"Options": &descriptorpb.FieldOptions{Packed: proto.Bool(true)},
},
},
@@ -499,18 +499,18 @@ func testFileAccessors(t *testing.T, fd pref.FileDescriptor) {
"Len": 1,
"ByName:s": nil,
"ByName:S": M{
- "Parent": M{"FullName": pref.FullName("test")},
- "Name": pref.Name("S"),
- "FullName": pref.FullName("test.S"),
+ "Parent": M{"FullName": protoreflect.FullName("test")},
+ "Name": protoreflect.Name("S"),
+ "FullName": protoreflect.FullName("test.S"),
"Options": &descriptorpb.ServiceOptions{Deprecated: proto.Bool(true)},
"Methods": M{
"Len": 1,
"Get:0": M{
- "Parent": M{"FullName": pref.FullName("test.S")},
- "Name": pref.Name("M"),
- "FullName": pref.FullName("test.S.M"),
- "Input": M{"FullName": pref.FullName("test.A"), "IsPlaceholder": false},
- "Output": M{"FullName": pref.FullName("test.C.A"), "IsPlaceholder": false},
+ "Parent": M{"FullName": protoreflect.FullName("test.S")},
+ "Name": protoreflect.Name("M"),
+ "FullName": protoreflect.FullName("test.S.M"),
+ "Input": M{"FullName": protoreflect.FullName("test.A"), "IsPlaceholder": false},
+ "Output": M{"FullName": protoreflect.FullName("test.C.A"), "IsPlaceholder": false},
"IsStreamingClient": true,
"IsStreamingServer": true,
"Options": &descriptorpb.MethodOptions{Deprecated: proto.Bool(true)},
@@ -572,7 +572,7 @@ func checkAccessors(t *testing.T, p string, rv reflect.Value, want map[string]in
}
got := rets[0].Interface()
- if pv, ok := got.(pref.Value); ok {
+ if pv, ok := got.(protoreflect.Value); ok {
got = pv.Interface()
}
@@ -599,7 +599,7 @@ func checkAccessors(t *testing.T, p string, rv reflect.Value, want map[string]in
}
}
-func testFileFormat(t *testing.T, fd pref.FileDescriptor) {
+func testFileFormat(t *testing.T, fd protoreflect.FileDescriptor) {
const wantFileDescriptor = `FileDescriptor{
Syntax: proto2
Path: "path/to/file.proto"