Skip to content

Commit f30588e

Browse files
committed
add tests
1 parent 25944c9 commit f30588e

File tree

1 file changed

+121
-0
lines changed

1 file changed

+121
-0
lines changed

test/src/cli/flutter_cli_test.dart

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -863,6 +863,127 @@ void main() {
863863
directory.delete(recursive: true).ignore();
864864
});
865865

866+
test(
867+
'runs tests w/coverage + min-coverage 100 + recursive (pass)',
868+
() async {
869+
final directory = Directory.systemTemp.createTempSync();
870+
File(p.join(directory.path, 'pubspec.yaml')).createSync();
871+
Directory(p.join(directory.path, 'test')).createSync();
872+
873+
final nestedDirectory = Directory(p.join(directory.path, 'test'))
874+
..createSync();
875+
File(p.join(nestedDirectory.path, 'pubspec.yaml')).createSync();
876+
Directory(p.join(nestedDirectory.path, 'test')).createSync();
877+
878+
await expectLater(
879+
Flutter.test(
880+
cwd: directory.path,
881+
collectCoverage: true,
882+
minCoverage: 100,
883+
recursive: true,
884+
stdout: stdoutLogs.add,
885+
stderr: stderrLogs.add,
886+
testRunner: testRunner(
887+
Stream.fromIterable(
888+
[
889+
const DoneTestEvent(success: true, time: 0),
890+
const ExitTestEvent(exitCode: 0, time: 0),
891+
],
892+
),
893+
onStart: () {
894+
File(p.join(directory.path, 'coverage', 'lcov.info'))
895+
..createSync(recursive: true)
896+
..writeAsStringSync(lcov100);
897+
File(p.join(nestedDirectory.path, 'coverage', 'lcov.info'))
898+
..createSync(recursive: true)
899+
..writeAsStringSync(lcov100);
900+
},
901+
),
902+
logger: logger,
903+
),
904+
completion(equals([ExitCode.success.code, ExitCode.success.code])),
905+
);
906+
907+
expect(
908+
stdoutLogs,
909+
equals([
910+
'Running "flutter test" in '
911+
'${p.dirname(nestedDirectory.path)}...\n',
912+
contains('All tests passed!'),
913+
'Running "flutter test" in ${p.dirname(directory.path)}...\n',
914+
contains('All tests passed!'),
915+
]),
916+
);
917+
expect(testRunnerArgs, equals(['--coverage', '--coverage']));
918+
919+
directory.delete(recursive: true).ignore();
920+
nestedDirectory.delete(recursive: true).ignore();
921+
},
922+
);
923+
924+
test(
925+
'runs tests w/coverage + min-coverage 100 + recursive (fail)',
926+
() async {
927+
final directory = Directory.systemTemp.createTempSync();
928+
File(p.join(directory.path, 'pubspec.yaml')).createSync();
929+
Directory(p.join(directory.path, 'test')).createSync();
930+
931+
final nestedDirectory = Directory(p.join(directory.path, 'test'))
932+
..createSync();
933+
File(p.join(nestedDirectory.path, 'pubspec.yaml')).createSync();
934+
Directory(p.join(nestedDirectory.path, 'test')).createSync();
935+
936+
await expectLater(
937+
Flutter.test(
938+
cwd: directory.path,
939+
collectCoverage: true,
940+
minCoverage: 100,
941+
recursive: true,
942+
stdout: stdoutLogs.add,
943+
stderr: stderrLogs.add,
944+
testRunner: testRunner(
945+
Stream.fromIterable(
946+
[
947+
const DoneTestEvent(success: true, time: 0),
948+
const ExitTestEvent(exitCode: 0, time: 0),
949+
],
950+
),
951+
onStart: () {
952+
File(p.join(directory.path, 'coverage', 'lcov.info'))
953+
..createSync(recursive: true)
954+
..writeAsStringSync(lcov100);
955+
File(p.join(nestedDirectory.path, 'coverage', 'lcov.info'))
956+
..createSync(recursive: true)
957+
..writeAsStringSync(lcov95);
958+
},
959+
),
960+
logger: logger,
961+
),
962+
throwsA(
963+
isA<MinCoverageNotMet>().having(
964+
(e) => e.coverage,
965+
'coverage',
966+
95.0,
967+
),
968+
),
969+
);
970+
971+
expect(
972+
stdoutLogs,
973+
equals([
974+
'Running "flutter test" in '
975+
'${p.dirname(nestedDirectory.path)}...\n',
976+
contains('All tests passed!'),
977+
]),
978+
);
979+
expect(stderrLogs, isEmpty);
980+
expect(testRunnerArgs, equals(['--coverage']));
981+
982+
directory.delete(recursive: true).ignore();
983+
nestedDirectory.delete(recursive: true).ignore();
984+
},
985+
);
986+
866987
test('runs tests w/optimizations (passing)', () async {
867988
final directory = Directory.systemTemp.createTempSync();
868989
final originalVars = <String, dynamic>{'package-root': directory.path};

0 commit comments

Comments
 (0)