Commit a1fa7c94 authored by Chris Bracken's avatar Chris Bracken Committed by GitHub

Support passing a custom coverage formatter to finalizeCoverage() (#5208)

parent 1aeea626
...@@ -58,16 +58,18 @@ class CoverageCollector { ...@@ -58,16 +58,18 @@ class CoverageCollector {
List<Future<Null>> _jobs = <Future<Null>>[]; List<Future<Null>> _jobs = <Future<Null>>[];
Map<String, dynamic> _globalHitmap; Map<String, dynamic> _globalHitmap;
Future<String> finalizeCoverage() async { Future<String> finalizeCoverage({Formatter formatter}) async {
assert(enabled); assert(enabled);
await finishPendingJobs(); await finishPendingJobs();
printTrace('formating coverage data'); printTrace('formating coverage data');
if (_globalHitmap == null) if (_globalHitmap == null)
return null; return null;
if (formatter == null) {
Resolver resolver = new Resolver(packagesPath: PackageMap.globalPackagesPath); Resolver resolver = new Resolver(packagesPath: PackageMap.globalPackagesPath);
LcovFormatter formater = new LcovFormatter(resolver);
String packagePath = Directory.current.path; String packagePath = Directory.current.path;
List<String> reportOn = <String>[path.join(packagePath, 'lib')]; List<String> reportOn = <String>[path.join(packagePath, 'lib')];
return await formater.format(_globalHitmap, reportOn: reportOn, basePath: packagePath); formatter = new LcovFormatter(resolver, reportOn: reportOn, basePath: packagePath);
}
return await formatter.format(_globalHitmap);
} }
} }
...@@ -10,7 +10,7 @@ environment: ...@@ -10,7 +10,7 @@ environment:
dependencies: dependencies:
archive: ^1.0.20 archive: ^1.0.20
args: ^0.13.4 args: ^0.13.4
coverage: ^0.7.9 coverage: ^0.8.0
crypto: '>=1.1.1 <3.0.0' crypto: '>=1.1.1 <3.0.0'
file: ^0.1.0 file: ^0.1.0
http: ^0.11.3 http: ^0.11.3
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment