@@ -11,6 +11,7 @@ import 'package:source_gen/source_gen.dart';
11
11
import 'package:test/test.dart' ;
12
12
13
13
import 'src/comment_generator.dart' ;
14
+ import 'src/unformatted_code_generator.dart' ;
14
15
15
16
void main () {
16
17
test ('Simple Generator test' , _simpleTest);
@@ -93,6 +94,41 @@ void main() {
93
94
'$pkgName |lib/test_lib.g.dart' : _testGenPartContentError,
94
95
});
95
96
});
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
+ });
96
132
}
97
133
98
134
Future _simpleTest () => _generateTest (
0 commit comments