55import 'dart:async' ;
66
77import 'package:analyzer/dart/element/element.dart' ;
8- import 'package:build/build .dart' ;
8+ import 'package:build_test/build_test .dart' ;
99import 'package:source_gen/builder.dart' ;
1010import 'package:source_gen/source_gen.dart' ;
1111import 'package:test/test.dart' ;
1212
1313import 'src/comment_generator.dart' ;
14- import 'src/test_phases.dart' ;
1514
1615void main () {
1716 test ('Simple Generator test' , _simpleTest);
1817
1918 test ('Bad generated source' , () async {
2019 var srcs = _createPackageStub (pkgName);
21- var phaseGroup = new PhaseGroup .singleAction (
22- new GeneratorBuilder ([const _BadOutputGenerator ()]),
23- new InputSet (pkgName, ['lib/test_lib.dart' ]));
20+ var builder = new GeneratorBuilder ([const _BadOutputGenerator ()]);
2421
25- await testPhases (phaseGroup, pkgName, srcs, {
26- '$pkgName |lib/test_lib.g.dart' : contains ('not valid code!' ),
27- });
22+ await testBuilder (builder, srcs,
23+ generateFor: new Set .from (['$pkgName |lib/test_lib.dart' ]),
24+ outputs: {
25+ '$pkgName |lib/test_lib.g.dart' : contains ('not valid code!' ),
26+ });
2827 });
2928
3029 test ('Generate standalone output file' , () async {
3130 var srcs = _createPackageStub (pkgName);
32- var phaseGroup = new PhaseGroup .singleAction (
33- new GeneratorBuilder ([const CommentGenerator ()], isStandalone: true ),
34- new InputSet (pkgName, ['lib/test_lib.dart' ]));
35- await testPhases (phaseGroup, pkgName, srcs, {
36- '$pkgName |lib/test_lib.g.dart' : _testGenStandaloneContent,
37- });
31+ var builder =
32+ new GeneratorBuilder ([const CommentGenerator ()], isStandalone: true );
33+ await testBuilder (builder, srcs,
34+ generateFor: new Set .from (['$pkgName |lib/test_lib.dart' ]),
35+ outputs: {
36+ '$pkgName |lib/test_lib.g.dart' : _testGenStandaloneContent,
37+ });
3838 });
3939
4040 test ('Generate explicitly non-standalone output file' , () async {
4141 var srcs = _createPackageStub (pkgName);
42- var phaseGroup = new PhaseGroup .singleAction (
43- new GeneratorBuilder ([const CommentGenerator ()], isStandalone: false ),
44- new InputSet (pkgName, ['lib/test_lib.dart' ]));
45- await testPhases (phaseGroup, pkgName, srcs, {
46- '$pkgName |lib/test_lib.g.dart' : _testGenPartContent,
47- });
42+ var builder =
43+ new GeneratorBuilder ([const CommentGenerator ()], isStandalone: false );
44+ await testBuilder (builder, srcs,
45+ generateFor: new Set .from (['$pkgName |lib/test_lib.dart' ]),
46+ outputs: {
47+ '$pkgName |lib/test_lib.g.dart' : _testGenPartContent,
48+ });
4849 });
4950
5051 test ('Expect error when multiple generators used on a standalone builder' ,
@@ -78,22 +79,19 @@ void main() {
7879
7980 test ('No-op generator produces no generated parts' , () async {
8081 var srcs = _createPackageStub (pkgName);
81- var phaseGroup = new PhaseGroup .singleAction (
82- new GeneratorBuilder ([const _NoOpGenerator ()]),
83- new InputSet (pkgName, ['lib/test_lib.dart' ]));
84-
85- await testPhases (phaseGroup, pkgName, srcs, {});
82+ var builder = new GeneratorBuilder ([const _NoOpGenerator ()]);
83+ await testBuilder (builder, srcs, outputs: {});
8684 });
8785
8886 test ('handle generator errors well' , () async {
8987 var srcs =
9088 _createPackageStub (pkgName, testLibContent: _testLibContentWithError);
91- var phaseGroup = new PhaseGroup . singleAction (
92- new GeneratorBuilder ([ const CommentGenerator ()]) ,
93- new InputSet (pkgName, [ ' lib/test_lib.dart' ]));
94- await testPhases (phaseGroup, pkgName, srcs, {
95- '$pkgName |lib/test_lib.g.dart' : _testGenPartContentError,
96- });
89+ var builder = new GeneratorBuilder ([ const CommentGenerator ()]);
90+ await testBuilder (builder, srcs ,
91+ generateFor : new Set . from ([ '$ pkgName | lib/test_lib.dart' ]),
92+ outputs : {
93+ '$pkgName |lib/test_lib.g.dart' : _testGenPartContentError,
94+ });
9795 });
9896}
9997
@@ -103,12 +101,13 @@ Future _simpleTest() => _generateTest(
103101
104102Future _generateTest (CommentGenerator gen, String expectedContent) async {
105103 var srcs = _createPackageStub (pkgName);
106- var phaseGroup = new PhaseGroup .singleAction (new GeneratorBuilder ([gen]),
107- new InputSet (pkgName, ['lib/test_lib.dart' ]));
104+ var builder = new GeneratorBuilder ([gen]);
108105
109- await testPhases (phaseGroup, pkgName, srcs, {
110- '$pkgName |lib/test_lib.g.dart' : expectedContent,
111- });
106+ await testBuilder (builder, srcs,
107+ generateFor: new Set .from (['$pkgName |lib/test_lib.dart' ]),
108+ outputs: {
109+ '$pkgName |lib/test_lib.g.dart' : expectedContent,
110+ });
112111}
113112
114113/// Creates a package using [pkgName] .
0 commit comments