| Index: tools/testing/dart/browser_test.dart
|
| diff --git a/tools/testing/dart/browser_test.dart b/tools/testing/dart/browser_test.dart
|
| index 04e88454ea37788ca26a34743ebcdfbdea230e24..7449dd1cee58a914e7cf6e02dfd5c8dfd668f705 100644
|
| --- a/tools/testing/dart/browser_test.dart
|
| +++ b/tools/testing/dart/browser_test.dart
|
| @@ -57,22 +57,52 @@ String WrapDartTestInLibrary(String test) =>
|
| #source('$test');
|
| """;
|
|
|
| -String DartTestWrapper(String dartHome, String library) =>
|
| +String DartTestWrapper(String domLibrary,
|
| + String testFramework,
|
| + String library) =>
|
| """
|
| #library('test');
|
|
|
| -#import('${dartHome}/lib/unittest/unittest.dart', prefix: 'unittest');
|
| -#import('${dartHome}/lib/unittest/html_config.dart', prefix: 'config');
|
| +#import('${domLibrary}');
|
| +#import('${testFramework}');
|
|
|
| #import('${library}', prefix: "Test");
|
|
|
| +waitForDone() {
|
| + window.postMessage('unittest-suite-wait-for-done', '*');
|
| +}
|
| +
|
| +pass() {
|
| + document.body.innerHTML = 'PASS';
|
| + window.postMessage('unittest-suite-done', '*');
|
| +}
|
| +
|
| +fail(e, trace) {
|
| + document.body.innerHTML = 'FAIL: \$e, \$trace';
|
| + window.postMessage('unittest-suite-done', '*');
|
| +}
|
| +
|
| main() {
|
| - config.useHtmlConfiguration();
|
| + bool needsToWait = false;
|
| + bool mainIsFinished = false;
|
| + TestRunner.waitForDoneCallback = () { needsToWait = true; };
|
| + TestRunner.doneCallback = () {
|
| + if (mainIsFinished) {
|
| + pass();
|
| + } else {
|
| + needsToWait = false;
|
| + }
|
| + };
|
| try {
|
| - unittest.ensureInitialized();
|
| Test.main();
|
| + if (needsToWait) {
|
| + waitForDone();
|
| + } else {
|
| + pass();
|
| + }
|
| + mainIsFinished = true;
|
| } catch(var e, var trace) {
|
| - unittest.reportTestError(e.message, trace);
|
| + fail(e, trace);
|
| }
|
| }
|
| """;
|
|
|