Index: observatory_pub_packages/unittest/src/configuration.dart |
=================================================================== |
--- observatory_pub_packages/unittest/src/configuration.dart (revision 0) |
+++ observatory_pub_packages/unittest/src/configuration.dart (working copy) |
@@ -0,0 +1,69 @@ |
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+library unittest.configuration; |
+ |
+import 'package:unittest/unittest.dart' show TestCase, SimpleConfiguration; |
+ |
+/// Describes the interface used by the unit test system for communicating the |
+/// results of a test run. |
+abstract class Configuration { |
+ |
+ /// Creates an instance of [SimpleConfiguration]. |
+ factory Configuration() => new SimpleConfiguration(); |
+ |
+ /// Creates an [Configuration] instances that does nothing. |
+ /// |
+ /// For use by subclasses which wish to implement only a subset of features. |
+ Configuration.blank(); |
+ |
+ /// If [:true:], tests are started automatically. Otherwise [runTests] |
+ /// must be called explicitly after tests are set up. |
+ bool get autoStart => true; |
+ |
+ /// How long a [TestCase] can run before it is considered an error. |
+ /// A [timeout] value of [:null:] means that the limit is infinite. |
+ Duration timeout = const Duration(minutes: 2); |
+ |
+ /// Called as soon as the unittest framework becomes initialized. |
+ /// |
+ /// This is done even before tests are added to the test framework. It might |
+ /// be used to determine/debug errors that occur before the test harness |
+ /// starts executing. It is also used to tell the vm or browser that tests are |
+ /// going to be run asynchronously and that the process should wait until they |
+ /// are done. |
+ void onInit() {} |
+ |
+ /// Called as soon as the unittest framework starts running. |
+ void onStart() {} |
+ |
+ /// Called when each test starts. Useful to show intermediate progress on |
+ /// a test suite. |
+ void onTestStart(TestCase testCase) {} |
+ |
+ /// Called when each test is first completed. Useful to show intermediate |
+ /// progress on a test suite. |
+ void onTestResult(TestCase testCase) {} |
+ |
+ /// Called when an already completed test changes state. For example: a test |
+ /// that was marked as passing may later be marked as being in error because |
+ /// it still had callbacks being invoked. |
+ void onTestResultChanged(TestCase testCase) {} |
+ |
+ /// Handles the logging of messages by a test case. |
+ void onLogMessage(TestCase testCase, String message) {} |
+ |
+ /// Called when the unittest framework is done running. [success] indicates |
+ /// whether all tests passed successfully. |
+ void onDone(bool success) {} |
+ |
+ /// Called with the result of all test cases. Browser tests commonly override |
+ /// this to reformat the output. |
+ /// |
+ /// When [uncaughtError] is not null, it contains an error that occured outside |
+ /// of tests (e.g. setting up the test). |
+ void onSummary(int passed, int failed, int errors, List<TestCase> results, |
+ String uncaughtError) {} |
+} |
+ |