| OLD | NEW | 
|    1 #!/usr/bin/env dart |    1 #!/usr/bin/env dart | 
|    2 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file |    2 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
|    3 // for details. All rights reserved. Use of this source code is governed by a |    3 // for details. All rights reserved. Use of this source code is governed by a | 
|    4 // BSD-style license that can be found in the LICENSE file. |    4 // BSD-style license that can be found in the LICENSE file. | 
|    5  |    5  | 
|    6 library file_generator_test; |    6 library file_generator_test; | 
|    7  |    7  | 
|    8 import 'package:protoc-plugin/src/descriptor.pb.dart'; |    8 import 'package:protoc_plugin/src/descriptor.pb.dart'; | 
|    9 import 'package:protoc-plugin/src/plugin.pb.dart'; |    9 import 'package:protoc_plugin/src/plugin.pb.dart'; | 
|   10 import 'package:protoc-plugin/protoc.dart'; |   10 import 'package:protoc_plugin/protoc.dart'; | 
|   11 import 'package:unittest/unittest.dart'; |   11 import 'package:unittest/unittest.dart'; | 
|   12  |   12  | 
|   13  |   13  | 
|   14 FileDescriptorProto buildFileDescriptor({topLevelEnum: false}) { |   14 FileDescriptorProto buildFileDescriptor({topLevelEnum: false}) { | 
|   15   EnumDescriptorProto ed; |   15   EnumDescriptorProto ed; | 
|   16   if (topLevelEnum) { |   16   if (topLevelEnum) { | 
|   17     ed = new EnumDescriptorProto() |   17     ed = new EnumDescriptorProto() | 
|   18       ..name = 'PhoneType' |   18       ..name = 'PhoneType' | 
|   19       ..value.addAll([ |   19       ..value.addAll([ | 
|   20           new EnumValueDescriptorProto() |   20           new EnumValueDescriptorProto() | 
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  103   String get name => getField(3); |  103   String get name => getField(3); | 
|  104   void set name(String v) { setField(3, v); } |  104   void set name(String v) { setField(3, v); } | 
|  105   bool hasName() => hasField(3); |  105   bool hasName() => hasField(3); | 
|  106   void clearName() => clearField(3); |  106   void clearName() => clearField(3); | 
|  107 } |  107 } | 
|  108  |  108  | 
|  109 '''; |  109 '''; | 
|  110     FileDescriptorProto fd = buildFileDescriptor(); |  110     FileDescriptorProto fd = buildFileDescriptor(); | 
|  111     MemoryWriter buffer = new MemoryWriter(); |  111     MemoryWriter buffer = new MemoryWriter(); | 
|  112     IndentingWriter writer = new IndentingWriter('  ', buffer); |  112     IndentingWriter writer = new IndentingWriter('  ', buffer); | 
|  113     var options = |  113     var options = parseGenerationOptions( | 
|  114         new GenerationOptions( |  114         new CodeGeneratorRequest(), new CodeGeneratorResponse()); | 
|  115             new CodeGeneratorRequest(), new CodeGeneratorResponse()); |  115     FileGenerator fg = new FileGenerator(fd, null, | 
|  116     FileGenerator fg = |  116         new GenerationContext(options, new DefaultOutputConfiguration())); | 
|  117         new FileGenerator(fd, null, new GenerationContext(options)); |  | 
|  118     fg.generate(writer); |  117     fg.generate(writer); | 
|  119     expect(buffer.toString(), expected); |  118     expect(buffer.toString(), expected); | 
|  120   }); |  119   }); | 
|  121  |  120  | 
|  122   test('testMessageGeneratorTopLevelEmun', () { |  121   test('testMessageGeneratorTopLevelEmun', () { | 
|  123     // NOTE: Below > 80 cols because it is matching generated code > 80 cols. |  122     // NOTE: Below > 80 cols because it is matching generated code > 80 cols. | 
|  124     String expected = r''' |  123     String expected = r''' | 
|  125 /// |  124 /// | 
|  126 //  Generated code. Do not modify. |  125 //  Generated code. Do not modify. | 
|  127 /// |  126 /// | 
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  175   String get name => getField(3); |  174   String get name => getField(3); | 
|  176   void set name(String v) { setField(3, v); } |  175   void set name(String v) { setField(3, v); } | 
|  177   bool hasName() => hasField(3); |  176   bool hasName() => hasField(3); | 
|  178   void clearName() => clearField(3); |  177   void clearName() => clearField(3); | 
|  179 } |  178 } | 
|  180  |  179  | 
|  181 '''; |  180 '''; | 
|  182     FileDescriptorProto fd = buildFileDescriptor(topLevelEnum: true); |  181     FileDescriptorProto fd = buildFileDescriptor(topLevelEnum: true); | 
|  183     MemoryWriter buffer = new MemoryWriter(); |  182     MemoryWriter buffer = new MemoryWriter(); | 
|  184     IndentingWriter writer = new IndentingWriter('  ', buffer); |  183     IndentingWriter writer = new IndentingWriter('  ', buffer); | 
|  185     var options = |  184     var options = parseGenerationOptions( | 
|  186         new GenerationOptions( |  185         new CodeGeneratorRequest(), new CodeGeneratorResponse()); | 
|  187             new CodeGeneratorRequest(), new CodeGeneratorResponse()); |  186     FileGenerator fg = new FileGenerator(fd, null, | 
|  188     FileGenerator fg = |  187         new GenerationContext(options, new DefaultOutputConfiguration())); | 
|  189         new FileGenerator(fd, null, new GenerationContext(options)); |  | 
|  190     fg.generate(writer); |  188     fg.generate(writer); | 
|  191     expect(buffer.toString(), expected); |  189     expect(buffer.toString(), expected); | 
|  192   }); |  190   }); | 
|  193  |  191  | 
|  194   test('testMessageGeneratorPackage', () { |  192   test('testMessageGeneratorPackage', () { | 
|  195     // NOTE: Below > 80 cols because it is matching generated code > 80 cols. |  193     // NOTE: Below > 80 cols because it is matching generated code > 80 cols. | 
|  196     String expected = r''' |  194     String expected = r''' | 
|  197 /// |  195 /// | 
|  198 //  Generated code. Do not modify. |  196 //  Generated code. Do not modify. | 
|  199 /// |  197 /// | 
| (...skipping 29 matching lines...) Expand all  Loading... | 
|  229   void set name(String v) { setField(3, v); } |  227   void set name(String v) { setField(3, v); } | 
|  230   bool hasName() => hasField(3); |  228   bool hasName() => hasField(3); | 
|  231   void clearName() => clearField(3); |  229   void clearName() => clearField(3); | 
|  232 } |  230 } | 
|  233  |  231  | 
|  234 '''; |  232 '''; | 
|  235     FileDescriptorProto fd = buildFileDescriptor(); |  233     FileDescriptorProto fd = buildFileDescriptor(); | 
|  236     fd.package = "pb_library"; |  234     fd.package = "pb_library"; | 
|  237     MemoryWriter buffer = new MemoryWriter(); |  235     MemoryWriter buffer = new MemoryWriter(); | 
|  238     IndentingWriter writer = new IndentingWriter('  ', buffer); |  236     IndentingWriter writer = new IndentingWriter('  ', buffer); | 
|  239     var options = |  237     var options = parseGenerationOptions( | 
|  240         new GenerationOptions( |  238         new CodeGeneratorRequest(), new CodeGeneratorResponse()); | 
|  241             new CodeGeneratorRequest(), new CodeGeneratorResponse()); |  239     FileGenerator fg = new FileGenerator(fd, null, | 
|  242     FileGenerator fg = |  240         new GenerationContext(options, new DefaultOutputConfiguration())); | 
|  243         new FileGenerator(fd, null, new GenerationContext(options)); |  | 
|  244     fg.generate(writer); |  241     fg.generate(writer); | 
|  245     expect(buffer.toString(), expected); |  242     expect(buffer.toString(), expected); | 
|  246   }); |  243   }); | 
|  247  |  244  | 
|  248   test('testMessageGeneratorFieldNameOption', () { |  245   test('testMessageGeneratorFieldNameOption', () { | 
|  249     // NOTE: Below > 80 cols because it is matching generated code > 80 cols. |  246     // NOTE: Below > 80 cols because it is matching generated code > 80 cols. | 
|  250     String expected = r''' |  247     String expected = r''' | 
|  251 /// |  248 /// | 
|  252 //  Generated code. Do not modify. |  249 //  Generated code. Do not modify. | 
|  253 /// |  250 /// | 
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  286 } |  283 } | 
|  287  |  284  | 
|  288 '''; |  285 '''; | 
|  289     FileDescriptorProto fd = buildFileDescriptor(); |  286     FileDescriptorProto fd = buildFileDescriptor(); | 
|  290     MemoryWriter buffer = new MemoryWriter(); |  287     MemoryWriter buffer = new MemoryWriter(); | 
|  291     IndentingWriter writer = new IndentingWriter('  ', buffer); |  288     IndentingWriter writer = new IndentingWriter('  ', buffer); | 
|  292     var request = new CodeGeneratorRequest(); |  289     var request = new CodeGeneratorRequest(); | 
|  293     request.parameter = 'field_name=PhoneNumber.number|No,' |  290     request.parameter = 'field_name=PhoneNumber.number|No,' | 
|  294                         'field_name=PhoneNumber.name|Name_,' |  291                         'field_name=PhoneNumber.name|Name_,' | 
|  295                         'field_name=PhoneNumber.type|The_type'; |  292                         'field_name=PhoneNumber.type|The_type'; | 
|  296     var options = |  293     var options = parseGenerationOptions( | 
|  297         new GenerationOptions( |  294         request, new CodeGeneratorResponse()); | 
|  298             request, new CodeGeneratorResponse()); |  295     FileGenerator fg = new FileGenerator(fd, null, | 
|  299     FileGenerator fg = |  296         new GenerationContext(options, new DefaultOutputConfiguration())); | 
|  300         new FileGenerator( |  | 
|  301             fd, null, new GenerationContext(options)); |  | 
|  302     fg.generate(writer); |  297     fg.generate(writer); | 
|  303     expect(buffer.toString(), expected); |  298     expect(buffer.toString(), expected); | 
|  304   }); |  299   }); | 
|  305  |  300  | 
|  306   test('testMessageGeneratorFieldNameOption', () { |  301   test('testMessageGeneratorFieldNameOption', () { | 
|  307     // NOTE: Below > 80 cols because it is matching generated code > 80 cols. |  302     // NOTE: Below > 80 cols because it is matching generated code > 80 cols. | 
|  308     String expected = r''' |  303     String expected = r''' | 
|  309 /// |  304 /// | 
|  310 //  Generated code. Do not modify. |  305 //  Generated code. Do not modify. | 
|  311 /// |  306 /// | 
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  436                 ..type = FieldDescriptorProto_Type.TYPE_MESSAGE |  431                 ..type = FieldDescriptorProto_Type.TYPE_MESSAGE | 
|  437                 ..typeName = ".p2.M", |  432                 ..typeName = ".p2.M", | 
|  438             ]); |  433             ]); | 
|  439     FileDescriptorProto fd = new FileDescriptorProto() |  434     FileDescriptorProto fd = new FileDescriptorProto() | 
|  440         ..name = 'test.proto' |  435         ..name = 'test.proto' | 
|  441         ..messageType.add(md); |  436         ..messageType.add(md); | 
|  442     fd.dependency.addAll(['package1.proto', 'package2.proto']); |  437     fd.dependency.addAll(['package1.proto', 'package2.proto']); | 
|  443     MemoryWriter buffer = new MemoryWriter(); |  438     MemoryWriter buffer = new MemoryWriter(); | 
|  444     IndentingWriter writer = new IndentingWriter('  ', buffer); |  439     IndentingWriter writer = new IndentingWriter('  ', buffer); | 
|  445     var request = new CodeGeneratorRequest(); |  440     var request = new CodeGeneratorRequest(); | 
|  446     var options = new GenerationOptions(request, new CodeGeneratorResponse()); |  441     var response = new CodeGeneratorResponse(); | 
|  447     var context = new GenerationContext(options); |  442     var options = parseGenerationOptions(request, response); | 
 |  443     var context = new GenerationContext(options, | 
 |  444         new DefaultOutputConfiguration()); | 
|  448     new FileGenerator(fd1, null, context); |  445     new FileGenerator(fd1, null, context); | 
|  449     new FileGenerator(fd2, null, context); |  446     new FileGenerator(fd2, null, context); | 
|  450     FileGenerator fg = new FileGenerator(fd, null, context); |  447     FileGenerator fg = new FileGenerator(fd, null, context); | 
|  451     fg.generate(writer); |  448     fg.generate(writer); | 
|  452     expect(buffer.toString(), expected); |  449     expect(buffer.toString(), expected); | 
|  453   }); |  450   }); | 
|  454 } |  451 } | 
| OLD | NEW |