@@ -986,6 +986,15 @@ func TestApplyTemplateRequestWithUnusedReferences(t *testing.T) {
986
986
}
987
987
}
988
988
989
+ func generateFieldsForJSONReservedName () []* descriptor.Field {
990
+ fields := make ([]* descriptor.Field , 0 )
991
+ fieldName := string ("json_name" )
992
+ fieldJSONName := string ("jsonNAME" )
993
+ fieldDescriptor := protodescriptor.FieldDescriptorProto {Name : & fieldName , JsonName : & fieldJSONName }
994
+ field := & descriptor.Field {FieldDescriptorProto : & fieldDescriptor }
995
+ return append (fields , field )
996
+ }
997
+
989
998
func TestTemplateWithJsonCamelCase (t * testing.T ) {
990
999
var tests = []struct {
991
1000
input string
@@ -1002,11 +1011,12 @@ func TestTemplateWithJsonCamelCase(t *testing.T) {
1002
1011
{"test/{ab}" , "test/{ab}" },
1003
1012
{"test/{a_a}" , "test/{aA}" },
1004
1013
{"test/{ab_c}" , "test/{abC}" },
1014
+ {"test/{json_name}" , "test/{jsonNAME}" },
1005
1015
}
1006
1016
reg := descriptor .NewRegistry ()
1007
1017
reg .SetUseJSONNamesForFields (true )
1008
1018
for _ , data := range tests {
1009
- actual := templateToSwaggerPath (data .input , reg )
1019
+ actual := templateToSwaggerPath (data .input , reg , generateFieldsForJSONReservedName () )
1010
1020
if data .expected != actual {
1011
1021
t .Errorf ("Expected templateToSwaggerPath(%v) = %v, actual: %v" , data .input , data .expected , actual )
1012
1022
}
@@ -1028,11 +1038,12 @@ func TestTemplateWithoutJsonCamelCase(t *testing.T) {
1028
1038
{"test/{a}" , "test/{a}" },
1029
1039
{"test/{ab}" , "test/{ab}" },
1030
1040
{"test/{a_a}" , "test/{a_a}" },
1041
+ {"test/{json_name}" , "test/{json_name}" },
1031
1042
}
1032
1043
reg := descriptor .NewRegistry ()
1033
1044
reg .SetUseJSONNamesForFields (false )
1034
1045
for _ , data := range tests {
1035
- actual := templateToSwaggerPath (data .input , reg )
1046
+ actual := templateToSwaggerPath (data .input , reg , generateFieldsForJSONReservedName () )
1036
1047
if data .expected != actual {
1037
1048
t .Errorf ("Expected templateToSwaggerPath(%v) = %v, actual: %v" , data .input , data .expected , actual )
1038
1049
}
@@ -1064,14 +1075,14 @@ func TestTemplateToSwaggerPath(t *testing.T) {
1064
1075
reg := descriptor .NewRegistry ()
1065
1076
reg .SetUseJSONNamesForFields (false )
1066
1077
for _ , data := range tests {
1067
- actual := templateToSwaggerPath (data .input , reg )
1078
+ actual := templateToSwaggerPath (data .input , reg , generateFieldsForJSONReservedName () )
1068
1079
if data .expected != actual {
1069
1080
t .Errorf ("Expected templateToSwaggerPath(%v) = %v, actual: %v" , data .input , data .expected , actual )
1070
1081
}
1071
1082
}
1072
1083
reg .SetUseJSONNamesForFields (true )
1073
1084
for _ , data := range tests {
1074
- actual := templateToSwaggerPath (data .input , reg )
1085
+ actual := templateToSwaggerPath (data .input , reg , generateFieldsForJSONReservedName () )
1075
1086
if data .expected != actual {
1076
1087
t .Errorf ("Expected templateToSwaggerPath(%v) = %v, actual: %v" , data .input , data .expected , actual )
1077
1088
}
@@ -1086,7 +1097,7 @@ func BenchmarkTemplateToSwaggerPath(b *testing.B) {
1086
1097
reg .SetUseJSONNamesForFields (false )
1087
1098
1088
1099
for i := 0 ; i < b .N ; i ++ {
1089
- _ = templateToSwaggerPath (input , reg )
1100
+ _ = templateToSwaggerPath (input , reg , generateFieldsForJSONReservedName () )
1090
1101
}
1091
1102
})
1092
1103
@@ -1095,7 +1106,7 @@ func BenchmarkTemplateToSwaggerPath(b *testing.B) {
1095
1106
reg .SetUseJSONNamesForFields (true )
1096
1107
1097
1108
for i := 0 ; i < b .N ; i ++ {
1098
- _ = templateToSwaggerPath (input , reg )
1109
+ _ = templateToSwaggerPath (input , reg , generateFieldsForJSONReservedName () )
1099
1110
}
1100
1111
})
1101
1112
}
@@ -1171,14 +1182,14 @@ func TestFQMNtoSwaggerName(t *testing.T) {
1171
1182
reg := descriptor .NewRegistry ()
1172
1183
reg .SetUseJSONNamesForFields (false )
1173
1184
for _ , data := range tests {
1174
- actual := templateToSwaggerPath (data .input , reg )
1185
+ actual := templateToSwaggerPath (data .input , reg , generateFieldsForJSONReservedName () )
1175
1186
if data .expected != actual {
1176
1187
t .Errorf ("Expected templateToSwaggerPath(%v) = %v, actual: %v" , data .input , data .expected , actual )
1177
1188
}
1178
1189
}
1179
1190
reg .SetUseJSONNamesForFields (true )
1180
1191
for _ , data := range tests {
1181
- actual := templateToSwaggerPath (data .input , reg )
1192
+ actual := templateToSwaggerPath (data .input , reg , generateFieldsForJSONReservedName () )
1182
1193
if data .expected != actual {
1183
1194
t .Errorf ("Expected templateToSwaggerPath(%v) = %v, actual: %v" , data .input , data .expected , actual )
1184
1195
}
0 commit comments