@@ -11,6 +11,7 @@ import 'package:source_gen/source_gen.dart';
1111import 'package:test/test.dart' ;
1212
1313import 'src/comment_generator.dart' ;
14+ import 'src/unformatted_code_generator.dart' ;
1415
1516void main () {
1617 test ('Simple Generator test' , _simpleTest);
@@ -93,6 +94,41 @@ void main() {
9394 '$pkgName |lib/test_lib.g.dart' : _testGenPartContentError,
9495 });
9596 });
97+
98+ test ('defaults to formatting generated code with the DartFormatter' ,
99+ () async {
100+ await testBuilder (new GeneratorBuilder ([new UnformattedCodeGenerator ()]),
101+ {'$pkgName |lib/a.dart' : 'library a; part "a.part.dart";' },
102+ generateFor: new Set .from (['$pkgName |lib/a.dart' ]),
103+ outputs: {
104+ '$pkgName |lib/a.g.dart' :
105+ contains (UnformattedCodeGenerator .formattedCode),
106+ });
107+ });
108+
109+ test ('can skip formatting with a trivial lambda' , () async {
110+ await testBuilder (
111+ new GeneratorBuilder ([new UnformattedCodeGenerator ()],
112+ formatOutput: (s) => s),
113+ {'$pkgName |lib/a.dart' : 'library a; part "a.part.dart";' },
114+ generateFor: new Set .from (['$pkgName |lib/a.dart' ]),
115+ outputs: {
116+ '$pkgName |lib/a.g.dart' :
117+ contains (UnformattedCodeGenerator .unformattedCode),
118+ });
119+ });
120+
121+ test ('can pass a custom formatter with formatOutput' , () async {
122+ var customOutput = 'final String hello = "hello";' ;
123+ await testBuilder (
124+ new GeneratorBuilder ([new UnformattedCodeGenerator ()],
125+ formatOutput: (_) => customOutput),
126+ {'$pkgName |lib/a.dart' : 'library a; part "a.part.dart";' },
127+ generateFor: new Set .from (['$pkgName |lib/a.dart' ]),
128+ outputs: {
129+ '$pkgName |lib/a.g.dart' : contains (customOutput),
130+ });
131+ });
96132}
97133
98134Future _simpleTest () => _generateTest (
0 commit comments