| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library unittest.with_test_environment_test; | 5 library unittest.with_test_environment_test; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'package:unittest/unittest.dart'; | 8 import 'package:unittest/unittest.dart'; |
| 9 | 9 |
| 10 class TestConfiguration extends SimpleConfiguration { | 10 class TestConfiguration extends SimpleConfiguration { |
| 11 final Completer _completer = new Completer(); | 11 final Completer _completer = new Completer(); |
| 12 List<TestCase> _results; | 12 List<TestCase> _results; |
| 13 | 13 |
| 14 TestConfiguration(); | 14 TestConfiguration(); |
| 15 | 15 |
| 16 void onSummary(int passed, int failed, int errors, List<TestCase> results, | 16 void onSummary(int passed, int failed, int errors, List<TestCase> results, |
| 17 String uncaughtError) { | 17 String uncaughtError) { |
| 18 super.onSummary(passed, failed, errors, results, uncaughtError); | 18 super.onSummary(passed, failed, errors, results, uncaughtError); |
| 19 _results = results; | 19 _results = results; |
| 20 } | 20 } |
| 21 | 21 |
| 22 Future get done => _completer.future; | 22 Future get done => _completer.future; |
| 23 | 23 |
| 24 onDone(success) { | 24 onDone(success) { |
| 25 new Future.sync(() { | 25 new Future.sync(() => super.onDone(success)) |
| 26 super.onDone(success); | 26 .then(_completer.complete) |
| 27 }).then((_) => _completer.complete(_)) | 27 .catchError(_completer.completeError); |
| 28 .catchError((error, stack) => _completer.completeError(error, stack)); | |
| 29 } | 28 } |
| 30 | 29 |
| 31 bool checkIfTestRan(String testName) { | 30 bool checkIfTestRan(String testName) { |
| 32 for (final t in _results) { | 31 return _results.any((test) => test.description == testName); |
| 33 if (t.description == testName) { | |
| 34 return true; | |
| 35 } | |
| 36 } | |
| 37 return false; | |
| 38 } | 32 } |
| 39 } | 33 } |
| 40 | 34 |
| 41 Future runUnittests(Function callback) { | 35 Future runUnittests(Function callback) { |
| 42 var config = new TestConfiguration(); | 36 var config = new TestConfiguration(); |
| 43 unittestConfiguration = config; | 37 unittestConfiguration = config; |
| 44 callback(); | 38 callback(); |
| 45 | 39 |
| 46 return config.done; | 40 return config.done; |
| 47 } | 41 } |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 }); | 81 }); |
| 88 | 82 |
| 89 // Third test that we can run with two nested test environments. | 83 // Third test that we can run with two nested test environments. |
| 90 withTestEnvironment(() { | 84 withTestEnvironment(() { |
| 91 runUnittests(runTests); | 85 runUnittests(runTests); |
| 92 withTestEnvironment(() { | 86 withTestEnvironment(() { |
| 93 runUnittests(runTests1); | 87 runUnittests(runTests1); |
| 94 }); | 88 }); |
| 95 }); | 89 }); |
| 96 } | 90 } |
| OLD | NEW |