| Index: test/runner/compact_reporter_test.dart
|
| diff --git a/test/runner/compact_reporter_test.dart b/test/runner/compact_reporter_test.dart
|
| index f6729717ac13e68f857ad8b0718670d9a22d5ae3..35c5079829ec74459a15023cc979a2bb33e0ed34 100644
|
| --- a/test/runner/compact_reporter_test.dart
|
| +++ b/test/runner/compact_reporter_test.dart
|
| @@ -110,14 +110,12 @@ void main() {
|
| dart:async Future.Future.microtask
|
| test.dart 10:15 main.<fn>
|
|
|
| -
|
| second error
|
| test.dart 11:38 main.<fn>.<fn>
|
| ===== asynchronous gap ===========================
|
| dart:async Future.Future.microtask
|
| test.dart 11:15 main.<fn>
|
|
|
| -
|
| third error
|
| test.dart 12:38 main.<fn>.<fn>
|
| ===== asynchronous gap ===========================
|
| @@ -129,6 +127,109 @@ void main() {
|
| +1 -1: wait
|
| +1 -1: Some tests failed.""");
|
| });
|
| +
|
| + group("print:", () {
|
| + test("handles multiple prints", () {
|
| + _expectReport("""
|
| + test('test', () {
|
| + print("one");
|
| + print("two");
|
| + print("three");
|
| + print("four");
|
| + });""",
|
| + """
|
| + +0: test
|
| + one
|
| + two
|
| + three
|
| + four
|
| +
|
| + +1: test
|
| + +1: All tests passed!""");
|
| + });
|
| +
|
| + test("handles a print after the test completes", () {
|
| + _expectReport("""
|
| + // This completer ensures that the test isolate isn't killed until all
|
| + // prints have happened.
|
| + var testDone = new Completer();
|
| + var waitStarted = new Completer();
|
| + test('test', () {
|
| + waitStarted.future.then((_) {
|
| + new Future(() => print("one"));
|
| + new Future(() => print("two"));
|
| + new Future(() => print("three"));
|
| + new Future(() => print("four"));
|
| + new Future(testDone.complete);
|
| + });
|
| + });
|
| +
|
| + test('wait', () {
|
| + waitStarted.complete();
|
| + return testDone.future;
|
| + });""", """
|
| + +0: test
|
| + +1: test
|
| + +1: wait
|
| + +1: test
|
| + one
|
| + two
|
| + three
|
| + four
|
| +
|
| + +2: wait
|
| + +2: All tests passed!""");
|
| + });
|
| +
|
| + test("interleaves prints and errors", () {
|
| + _expectReport("""
|
| + // This completer ensures that the test isolate isn't killed until all
|
| + // prints have happened.
|
| + var completer = new Completer();
|
| + test('test', () {
|
| + scheduleMicrotask(() {
|
| + print("three");
|
| + print("four");
|
| + throw "second error";
|
| + });
|
| +
|
| + scheduleMicrotask(() {
|
| + print("five");
|
| + print("six");
|
| + completer.complete();
|
| + });
|
| +
|
| + print("one");
|
| + print("two");
|
| + throw "first error";
|
| + });
|
| +
|
| + test('wait', () => completer.future);""",
|
| + """
|
| + +0: test
|
| + one
|
| + two
|
| +
|
| + +0 -1: test
|
| + first error
|
| + test.dart 24:11 main.<fn>
|
| +
|
| + three
|
| + four
|
| + second error
|
| + test.dart 13:13 main.<fn>.<fn>
|
| + ===== asynchronous gap ===========================
|
| + dart:async scheduleMicrotask
|
| + test.dart 10:28 main.<fn>
|
| +
|
| + five
|
| + six
|
| +
|
| + +0 -1: wait
|
| + +1 -1: wait
|
| + +1 -1: Some tests failed.""");
|
| + });
|
| + });
|
| }
|
|
|
| void _expectReport(String tests, String expected, {List<String> args}) {
|
|
|