Index: pkg/unittest/lib/src/simple_configuration.dart |
diff --git a/pkg/unittest/lib/src/config.dart b/pkg/unittest/lib/src/simple_configuration.dart |
similarity index 80% |
rename from pkg/unittest/lib/src/config.dart |
rename to pkg/unittest/lib/src/simple_configuration.dart |
index d79306f4b05c4ede2b243b48ff6bdfa9cb01190f..b9d3a02bf87ee8dd5e6fbac0c09963bc9239d59c 100644 |
--- a/pkg/unittest/lib/src/config.dart |
+++ b/pkg/unittest/lib/src/simple_configuration.dart |
@@ -1,4 +1,4 @@ |
-// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
+// 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. |
@@ -7,9 +7,9 @@ part of unittest; |
// A custom failure handler for [expect] that routes expect failures |
// to the config. |
class _ExpectFailureHandler extends DefaultFailureHandler { |
- Configuration _config; |
+ final SimpleConfiguration _config; |
- _ExpectFailureHandler(this._config) : super(); |
+ _ExpectFailureHandler(this._config); |
void fail(String reason) { |
_config.onExpectFailure(reason); |
@@ -22,8 +22,7 @@ class _ExpectFailureHandler extends DefaultFailureHandler { |
* advantage of the platform can create a subclass and override methods from |
* this class. |
*/ |
- |
-class Configuration { |
+class SimpleConfiguration implements Configuration { |
// The VM won't shut down if a receive port is open. Use this to make sure |
// we correctly wait for asynchronous tests. |
ReceivePort _receivePort; |
@@ -35,11 +34,7 @@ class Configuration { |
*/ |
final String name = 'Configuration'; |
- /** |
- * If true, then tests are started automatically (otherwise [runTests] |
- * must be called explicitly after the tests are set up. |
- */ |
- final bool autoStart = true; |
+ bool get autoStart => true; |
/** |
* If true (the default), throw an exception at the end if any tests failed. |
@@ -61,22 +56,15 @@ class Configuration { |
* The constructor sets up a failure handler for [expect] that redirects |
* [expect] failures to [onExpectFailure]. |
*/ |
- Configuration() { |
+ SimpleConfiguration() { |
configureExpectFailureHandler(new _ExpectFailureHandler(this)); |
} |
- /** |
- * 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() { |
_receivePort = new ReceivePort(); |
_postMessage('unittest-suite-wait-for-done'); |
} |
- /** Called as soon as the unittest framework starts running. */ |
void onStart() {} |
/** |
@@ -91,7 +79,7 @@ class Configuration { |
/** |
* Called when each test is first completed. Useful to show intermediate |
- * progress on a test suite. Derived classes should call this first |
+ * progress on a test suite. Derived classes should call this first |
* before their own override code. |
*/ |
void onTestResult(TestCase testCase) { |
@@ -112,25 +100,20 @@ class Configuration { |
if (testCase.result == PASS) { |
testCase._result = FAIL; |
testCase._message = reason.toString(); |
- // Use the last stack as the overall failure stack. |
+ // Use the last stack as the overall failure stack. |
testCase._stackTrace = lastReasonAndTrace.last; |
} else { |
// Add the last stack to the message; we have a further stack |
// caused by some other failure. |
reason.write(lastReasonAndTrace.last); |
reason.write('\n'); |
- // Add the existing reason to the end of the expect log to |
+ // Add the existing reason to the end of the expect log to |
// create the final message. |
testCase._message = '${reason.toString()}\n${testCase._message}'; |
} |
} |
} |
- /** |
- * 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) { |
assert(testCase != null); |
} |
@@ -159,7 +142,7 @@ class Configuration { |
} |
} |
} |
- |
+ |
/** |
* Format a test result. |
*/ |
@@ -213,10 +196,6 @@ class Configuration { |
} |
} |
- /** |
- * Called when the unittest framework is done running. [success] indicates |
- * whether all tests passed successfully. |
- */ |
void onDone(bool success) { |
if (success) { |
_postMessage('unittest-suite-success'); |
@@ -229,13 +208,7 @@ class Configuration { |
} |
} |
- /** Handle errors that happen outside the tests. */ |
- // TODO(vsm): figure out how to expose the stack trace here |
- // Currently e.message works in dartium, but not in dartc. |
- void handleExternalError(e, String message, [stack]) => |
- _reportTestError('$message\nCaught $e', stack); |
- |
- _postMessage(String message) { |
+ void _postMessage(String message) { |
// In dart2js browser tests, the JavaScript-based test controller |
// intercepts calls to print and listens for "secret" messages. |
print(message); |