generateMainScript function

void generateMainScript(
  1. Directory packageRoot,
  2. List<File> testFiles
)

Implementation

void generateMainScript(Directory packageRoot, List<File> testFiles) {
  final imports = <String>[];
  final mainBody = <String>[];

  for (final test in testFiles) {
    final info = TestFileInfo.forFile(test);
    imports.add(info.import);
    mainBody.add('  ${info.alias}.main();');
  }
  imports.sort();
  mainBody.sort((a, b) => a[3].compareTo(b[3]));

  final buffer = StringBuffer()
    ..writeln('// Auto-generated by test_cov. Do not edit by hand.')
    ..writeln();
  imports.forEach(buffer.writeln);
  buffer..writeln()..writeln('void main() {');
  mainBody.forEach(buffer.writeln);
  buffer.writeln('}');

  File(path.join(packageRoot.path, 'test', '.test_cov.dart'))
      .writeAsStringSync(buffer.toString());
}