Index: test/file_generator_test.dart |
diff --git a/test/file_generator_test.dart b/test/file_generator_test.dart |
index 6a63842902c125c5230b50f940b54d3aee210484..0ec58963eba0d75d2fe00011681d9ea95f3a5da3 100644 |
--- a/test/file_generator_test.dart |
+++ b/test/file_generator_test.dart |
@@ -13,56 +13,56 @@ import 'package:test/test.dart'; |
FileDescriptorProto buildFileDescriptor( |
{phoneNumber: true, topLevelEnum: false}) { |
- |
- FileDescriptorProto fd = new FileDescriptorProto() |
- ..name = 'test'; |
+ FileDescriptorProto fd = new FileDescriptorProto()..name = 'test'; |
if (topLevelEnum) { |
fd.enumType.add(new EnumDescriptorProto() |
..name = 'PhoneType' |
..value.addAll([ |
- new EnumValueDescriptorProto() |
- ..name = 'MOBILE' |
- ..number = 0, |
- new EnumValueDescriptorProto() |
- ..name = 'HOME' |
- ..number = 1, |
- new EnumValueDescriptorProto() |
- ..name = 'WORK' |
- ..number = 2, |
- new EnumValueDescriptorProto() |
- ..name = 'BUSINESS' |
- ..number = 2])); |
+ new EnumValueDescriptorProto() |
+ ..name = 'MOBILE' |
+ ..number = 0, |
+ new EnumValueDescriptorProto() |
+ ..name = 'HOME' |
+ ..number = 1, |
+ new EnumValueDescriptorProto() |
+ ..name = 'WORK' |
+ ..number = 2, |
+ new EnumValueDescriptorProto() |
+ ..name = 'BUSINESS' |
+ ..number = 2 |
+ ])); |
} |
if (phoneNumber) { |
fd.messageType.add(new DescriptorProto() |
..name = 'PhoneNumber' |
..field.addAll([ |
- // required string number = 1; |
- new FieldDescriptorProto() |
- ..name = 'number' |
- ..number = 1 |
- ..label = FieldDescriptorProto_Label.LABEL_REQUIRED |
- ..type = FieldDescriptorProto_Type.TYPE_STRING, |
- // optional int32 type = 2; |
- // OR |
- // optional PhoneType type = 2; |
- new FieldDescriptorProto() |
- ..name = 'type' |
- ..number = 2 |
- ..label = FieldDescriptorProto_Label.LABEL_OPTIONAL |
- ..type = topLevelEnum ? FieldDescriptorProto_Type.TYPE_ENUM |
- : FieldDescriptorProto_Type.TYPE_INT32 |
- ..typeName = topLevelEnum ? '.PhoneType' : '', |
- // optional string name = 3 [default = "$"]; |
- new FieldDescriptorProto() |
- ..name = 'name' |
- ..number = 3 |
- ..label = FieldDescriptorProto_Label.LABEL_OPTIONAL |
- ..type = FieldDescriptorProto_Type.TYPE_STRING |
- ..defaultValue = r'$' |
- ])); |
+ // required string number = 1; |
+ new FieldDescriptorProto() |
+ ..name = 'number' |
+ ..number = 1 |
+ ..label = FieldDescriptorProto_Label.LABEL_REQUIRED |
+ ..type = FieldDescriptorProto_Type.TYPE_STRING, |
+ // optional int32 type = 2; |
+ // OR |
+ // optional PhoneType type = 2; |
+ new FieldDescriptorProto() |
+ ..name = 'type' |
+ ..number = 2 |
+ ..label = FieldDescriptorProto_Label.LABEL_OPTIONAL |
+ ..type = topLevelEnum |
+ ? FieldDescriptorProto_Type.TYPE_ENUM |
+ : FieldDescriptorProto_Type.TYPE_INT32 |
+ ..typeName = topLevelEnum ? '.PhoneType' : '', |
+ // optional string name = 3 [default = "$"]; |
+ new FieldDescriptorProto() |
+ ..name = 'name' |
+ ..number = 3 |
+ ..label = FieldDescriptorProto_Label.LABEL_OPTIONAL |
+ ..type = FieldDescriptorProto_Type.TYPE_STRING |
+ ..defaultValue = r'$' |
+ ])); |
} |
return fd; |
@@ -81,9 +81,9 @@ import 'package:protobuf/protobuf.dart'; |
class PhoneNumber extends GeneratedMessage { |
static final BuilderInfo _i = new BuilderInfo('PhoneNumber') |
- ..a(1, 'number', PbFieldType.QS) |
- ..a(2, 'type', PbFieldType.O3) |
- ..a(3, 'name', PbFieldType.OS, '\$') |
+ ..a/*<String>*/(1, 'number', PbFieldType.QS) |
+ ..a/*<int>*/(2, 'type', PbFieldType.O3) |
+ ..a/*<String>*/(3, 'name', PbFieldType.OS, '\$') |
; |
PhoneNumber() : super(); |
@@ -164,8 +164,8 @@ class PhoneType extends ProtobufEnum { |
WORK, |
]; |
- static final Map<int, PhoneType> _byValue = ProtobufEnum.initByValue(values); |
- static PhoneType valueOf(int value) => _byValue[value]; |
+ static final Map<int, dynamic> _byValue = ProtobufEnum.initByValue(values); |
+ static PhoneType valueOf(int value) => _byValue[value] as PhoneType; |
static void $checkItem(PhoneType v) { |
if (v is !PhoneType) checkItemFailed(v, 'PhoneType'); |
} |
@@ -184,9 +184,8 @@ const PhoneType$json = const { |
}; |
'''; |
- FileDescriptorProto fd = buildFileDescriptor( |
- phoneNumber: false, |
- topLevelEnum: true); |
+ FileDescriptorProto fd = |
+ buildFileDescriptor(phoneNumber: false, topLevelEnum: true); |
var options = parseGenerationOptions( |
new CodeGeneratorRequest(), new CodeGeneratorResponse()); |
@@ -235,13 +234,13 @@ import 'package:protobuf/protobuf.dart'; |
FileDescriptorProto fd = new FileDescriptorProto() |
..name = 'test' |
..messageType.add(new DescriptorProto() |
- ..name = 'Count' |
- ..field.addAll([ |
- new FieldDescriptorProto() |
- ..name = 'count' |
- ..number = 1 |
- ..type = FieldDescriptorProto_Type.TYPE_INT64 |
- ])); |
+ ..name = 'Count' |
+ ..field.addAll([ |
+ new FieldDescriptorProto() |
+ ..name = 'count' |
+ ..number = 1 |
+ ..type = FieldDescriptorProto_Type.TYPE_INT64 |
+ ])); |
var options = parseGenerationOptions( |
new CodeGeneratorRequest(), new CodeGeneratorResponse()); |
@@ -254,7 +253,6 @@ import 'package:protobuf/protobuf.dart'; |
expect(writer.toString(), expected); |
}); |
- |
test('FileGenerator handles field_name options', () { |
// NOTE: Below > 80 cols because it is matching generated code > 80 cols. |
String expected = r''' |
@@ -267,9 +265,9 @@ import 'package:protobuf/protobuf.dart'; |
class PhoneNumber extends GeneratedMessage { |
static final BuilderInfo _i = new BuilderInfo('PhoneNumber') |
- ..a(1, 'no', PbFieldType.QS) |
- ..a(2, 'the_type', PbFieldType.O3) |
- ..a(3, 'name_', PbFieldType.OS, '\$') |
+ ..a/*<String>*/(1, 'no', PbFieldType.QS) |
+ ..a/*<int>*/(2, 'the_type', PbFieldType.O3) |
+ ..a/*<String>*/(3, 'name_', PbFieldType.OS, '\$') |
; |
PhoneNumber() : super(); |
@@ -319,10 +317,9 @@ const PhoneNumber$json = const { |
FileDescriptorProto fd = buildFileDescriptor(); |
var request = new CodeGeneratorRequest(); |
request.parameter = 'field_name=PhoneNumber.number|No,' |
- 'field_name=PhoneNumber.name|Name_,' |
- 'field_name=PhoneNumber.type|The_type'; |
- var options = parseGenerationOptions( |
- request, new CodeGeneratorResponse()); |
+ 'field_name=PhoneNumber.name|Name_,' |
+ 'field_name=PhoneNumber.type|The_type'; |
+ var options = parseGenerationOptions(request, new CodeGeneratorResponse()); |
FileGenerator fg = new FileGenerator(fd); |
link(options, [fg]); |
@@ -346,9 +343,9 @@ import 'package2.pb.dart' as p2; |
class M extends GeneratedMessage { |
static final BuilderInfo _i = new BuilderInfo('M') |
- ..a(1, 'm', PbFieldType.OM, M.getDefault, M.create) |
- ..a(2, 'm1', PbFieldType.OM, p1.M.getDefault, p1.M.create) |
- ..a(3, 'm2', PbFieldType.OM, p2.M.getDefault, p2.M.create) |
+ ..a/*<M>*/(1, 'm', PbFieldType.OM, M.getDefault, M.create) |
+ ..a/*<p1.M>*/(2, 'm1', PbFieldType.OM, p1.M.getDefault, p1.M.create) |
+ ..a/*<p2.M>*/(3, 'm2', PbFieldType.OM, p2.M.getDefault, p2.M.create) |
..hasRequiredFields = false |
; |
@@ -427,67 +424,67 @@ const M$json = const { |
// Description of package1.proto. |
DescriptorProto md1 = new DescriptorProto() |
- ..name = 'M' |
- ..field.addAll([ |
- // optional M m = 1; |
- new FieldDescriptorProto() |
- ..name = 'm' |
- ..number = 1 |
- ..label = FieldDescriptorProto_Label.LABEL_OPTIONAL |
- ..type = FieldDescriptorProto_Type.TYPE_MESSAGE |
- ..typeName = ".p1.M", |
- ]); |
+ ..name = 'M' |
+ ..field.addAll([ |
+ // optional M m = 1; |
+ new FieldDescriptorProto() |
+ ..name = 'm' |
+ ..number = 1 |
+ ..label = FieldDescriptorProto_Label.LABEL_OPTIONAL |
+ ..type = FieldDescriptorProto_Type.TYPE_MESSAGE |
+ ..typeName = ".p1.M", |
+ ]); |
FileDescriptorProto fd1 = new FileDescriptorProto() |
- ..package = 'p1' |
- ..name = 'package1.proto' |
- ..messageType.add(md1); |
+ ..package = 'p1' |
+ ..name = 'package1.proto' |
+ ..messageType.add(md1); |
// Description of package1.proto. |
DescriptorProto md2 = new DescriptorProto() |
- ..name = 'M' |
- ..field.addAll([ |
- // optional M m = 1; |
- new FieldDescriptorProto() |
- ..name = 'x' |
- ..number = 1 |
- ..label = FieldDescriptorProto_Label.LABEL_OPTIONAL |
- ..type = FieldDescriptorProto_Type.TYPE_MESSAGE |
- ..typeName = ".p2.M", |
- ]); |
+ ..name = 'M' |
+ ..field.addAll([ |
+ // optional M m = 1; |
+ new FieldDescriptorProto() |
+ ..name = 'x' |
+ ..number = 1 |
+ ..label = FieldDescriptorProto_Label.LABEL_OPTIONAL |
+ ..type = FieldDescriptorProto_Type.TYPE_MESSAGE |
+ ..typeName = ".p2.M", |
+ ]); |
FileDescriptorProto fd2 = new FileDescriptorProto() |
- ..package = 'p2' |
- ..name = 'package2.proto' |
- ..messageType.add(md2); |
+ ..package = 'p2' |
+ ..name = 'package2.proto' |
+ ..messageType.add(md2); |
// Description of test.proto. |
DescriptorProto md = new DescriptorProto() |
- ..name = 'M' |
- ..field.addAll([ |
- // optional M m = 1; |
- new FieldDescriptorProto() |
- ..name = 'm' |
- ..number = 1 |
- ..label = FieldDescriptorProto_Label.LABEL_OPTIONAL |
- ..type = FieldDescriptorProto_Type.TYPE_MESSAGE |
- ..typeName = ".M", |
- // optional p1.M m1 = 2; |
- new FieldDescriptorProto() |
- ..name = 'm1' |
- ..number = 2 |
- ..label = FieldDescriptorProto_Label.LABEL_OPTIONAL |
- ..type = FieldDescriptorProto_Type.TYPE_MESSAGE |
- ..typeName = ".p1.M", |
- // optional p2.M m2 = 3; |
- new FieldDescriptorProto() |
- ..name = 'm2' |
- ..number = 3 |
- ..label = FieldDescriptorProto_Label.LABEL_OPTIONAL |
- ..type = FieldDescriptorProto_Type.TYPE_MESSAGE |
- ..typeName = ".p2.M", |
- ]); |
+ ..name = 'M' |
+ ..field.addAll([ |
+ // optional M m = 1; |
+ new FieldDescriptorProto() |
+ ..name = 'm' |
+ ..number = 1 |
+ ..label = FieldDescriptorProto_Label.LABEL_OPTIONAL |
+ ..type = FieldDescriptorProto_Type.TYPE_MESSAGE |
+ ..typeName = ".M", |
+ // optional p1.M m1 = 2; |
+ new FieldDescriptorProto() |
+ ..name = 'm1' |
+ ..number = 2 |
+ ..label = FieldDescriptorProto_Label.LABEL_OPTIONAL |
+ ..type = FieldDescriptorProto_Type.TYPE_MESSAGE |
+ ..typeName = ".p1.M", |
+ // optional p2.M m2 = 3; |
+ new FieldDescriptorProto() |
+ ..name = 'm2' |
+ ..number = 3 |
+ ..label = FieldDescriptorProto_Label.LABEL_OPTIONAL |
+ ..type = FieldDescriptorProto_Type.TYPE_MESSAGE |
+ ..typeName = ".p2.M", |
+ ]); |
FileDescriptorProto fd = new FileDescriptorProto() |
- ..name = 'test.proto' |
- ..messageType.add(md); |
+ ..name = 'test.proto' |
+ ..messageType.add(md); |
fd.dependency.addAll(['package1.proto', 'package2.proto']); |
var request = new CodeGeneratorRequest(); |
var response = new CodeGeneratorResponse(); |