Index: pkg/unittest/test_controller.js |
diff --git a/pkg/unittest/test_controller.js b/pkg/unittest/test_controller.js |
deleted file mode 100644 |
index b5734b93e78d000f21799c3d611a95bd1f2e3bd8..0000000000000000000000000000000000000000 |
--- a/pkg/unittest/test_controller.js |
+++ /dev/null |
@@ -1,120 +0,0 @@ |
-// Copyright (c) 2011, 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. |
- |
-/** |
- * Test controller logic - used by unit test harness to embed tests in |
- * DumpRenderTree. |
- */ |
- |
-if (navigator.webkitStartDart) { |
- navigator.webkitStartDart(); |
-} |
- |
-// testRunner is provided by DRT or WebKit's layout tests. |
-// It is not available in selenium tests. |
-var testRunner = window.testRunner || window.layoutTestController; |
- |
-var waitForDone = false; |
- |
-function processMessage(msg) { |
- if (typeof msg != 'string') return; |
- if (msg == 'unittest-suite-done') { |
- if (testRunner) testRunner.notifyDone(); |
- } else if (msg == 'unittest-suite-wait-for-done') { |
- waitForDone = true; |
- if (testRunner) testRunner.startedDartTest = true; |
- } else if (msg == 'dart-calling-main') { |
- if (testRunner) testRunner.startedDartTest = true; |
- } else if (msg == 'dart-main-done') { |
- if (!waitForDone) { |
- window.postMessage('unittest-suite-success', '*'); |
- } |
- } else if (msg == 'unittest-suite-success') { |
- dartPrint('PASS'); |
- if (testRunner) testRunner.notifyDone(); |
- } else if (msg == 'unittest-suite-fail') { |
- showErrorAndExit('Some tests failed.'); |
- } |
-} |
- |
-function onReceive(e) { |
- processMessage(e.data); |
-} |
- |
-if (testRunner) { |
- testRunner.dumpAsText(); |
- testRunner.waitUntilDone(); |
-} |
-window.addEventListener("message", onReceive, false); |
- |
-function showErrorAndExit(message) { |
- if (message) { |
- dartPrint('Error: ' + String(message)); |
- } |
- // dart/tools/testing/run_selenium.py is looking for either PASS or |
- // FAIL and will continue polling until one of these words show up. |
- dartPrint('FAIL'); |
- if (testRunner) testRunner.notifyDone(); |
-} |
- |
-function onLoad(e) { |
- // needed for dartium compilation errors. |
- if (window.compilationError) { |
- showErrorAndExit(window.compilationError); |
- } |
-} |
- |
-window.addEventListener("DOMContentLoaded", onLoad, false); |
- |
-// If nobody intercepts the error, finish the test. |
-window.addEventListener("error", function(e) { |
- // needed for dartium compilation errors. |
- showErrorAndExit(e && e.message); |
-}, false); |
- |
-document.addEventListener('readystatechange', function () { |
- if (document.readyState != "loaded") return; |
- // If 'startedDartTest' is not set, that means that the test did not have |
- // a chance to load. This will happen when a load error occurs in the VM. |
- // Give the machine time to start up. |
- setTimeout(function() { |
- // A window.postMessage might have been enqueued after this timeout. |
- // Just sleep another time to give the browser the time to process the |
- // posted message. |
- setTimeout(function() { |
- if (testRunner && !testRunner.startedDartTest) { |
- testRunner.notifyDone(); |
- } |
- }, 0); |
- }, 50); |
-}); |
- |
-// dart2js will generate code to call this function to handle the Dart |
-// [print] method. The base [Configuration] (config.html) calls |
-// [print] with the secret messages "unittest-suite-success" and |
-// "unittest-suite-wait-for-done". These messages are then posted so |
-// processMessage above will see them. |
-function dartPrint(msg) { |
- if ((msg === 'unittest-suite-success') |
- || (msg === 'unittest-suite-wait-for-done')) { |
- window.postMessage(msg, '*'); |
- return; |
- } |
- var pre = document.createElement("pre"); |
- pre.appendChild(document.createTextNode(String(msg))); |
- document.body.appendChild(pre); |
-} |
- |
-// dart2js will generate code to call this function instead of calling |
-// Dart [main] directly. The argument is a closure that invokes main. |
-function dartMainRunner(main) { |
- window.postMessage('dart-calling-main', '*'); |
- try { |
- main(); |
- } catch (e) { |
- window.postMessage('unittest-suite-fail', '*'); |
- return; |
- } |
- window.postMessage('dart-main-done', '*'); |
-} |