Index: observatory_pub_packages/unittest/coverage_controller.js |
=================================================================== |
--- observatory_pub_packages/unittest/coverage_controller.js (revision 0) |
+++ observatory_pub_packages/unittest/coverage_controller.js (working copy) |
@@ -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); |
+} |