Index: runtime/bin/vmservice/observatory/deployed/web/packages/unittest/coverage_controller.js |
diff --git a/runtime/bin/vmservice/observatory/deployed/web/packages/unittest/coverage_controller.js b/runtime/bin/vmservice/observatory/deployed/web/packages/unittest/coverage_controller.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1cf21ae1d45c55506e1aa7c11748c7f0db0ec3ff |
--- /dev/null |
+++ b/runtime/bin/vmservice/observatory/deployed/web/packages/unittest/coverage_controller.js |
@@ -0,0 +1,31 @@ |
+// 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. |
+ |
+/** |
+ * Coverage controller logic - used by coverage test harness to embed tests in |
+ * content shell and extract coverage information. |
+ */ |
+ |
+var LONG_LINE = 60000; |
+ |
+function onReceive(e) { |
+ if (e.data == 'unittest-suite-done') { |
+ var s = JSON.stringify(top._$jscoverage); |
+ var res = ''; |
+ // conent shell has a bug on lines longer than 2^16, so we split them |
+ while (s.length > LONG_LINE) { |
+ res += s.substr(0, LONG_LINE) + '<br>\n'; |
+ s = s.substr(LONG_LINE); |
+ } |
+ res += s; |
+ window.document.body.innerHTML = res; |
+ window.layoutTestController.notifyDone(); |
+ } |
+} |
+ |
+if (window.layoutTestController) { |
+ window.layoutTestController.dumpAsText(); |
+ window.layoutTestController.waitUntilDone(); |
+ window.addEventListener("message", onReceive, false); |
+} |