test_DominatorTree_02.js 956 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /* Any copyright is dedicated to the Public Domain.
  2. http://creativecommons.org/publicdomain/zero/1.0/ */
  3. // Test that we can compute dominator trees from a snapshot in a worker.
  4. add_task(function* () {
  5. const worker = new ChromeWorker("resource://test/dominator-tree-worker.js");
  6. worker.postMessage({});
  7. let assertionCount = 0;
  8. worker.onmessage = e => {
  9. if (e.data.type !== "assertion") {
  10. return;
  11. }
  12. ok(e.data.passed, e.data.msg + "\n" + e.data.stack);
  13. assertionCount++;
  14. };
  15. yield waitForDone(worker);
  16. ok(assertionCount > 0);
  17. worker.terminate();
  18. });
  19. function waitForDone(w) {
  20. return new Promise((resolve, reject) => {
  21. w.onerror = e => {
  22. reject();
  23. ok(false, "Error in worker: " + e);
  24. };
  25. w.addEventListener("message", function listener(e) {
  26. if (e.data.type === "done") {
  27. w.removeEventListener("message", listener, false);
  28. resolve();
  29. }
  30. }, false);
  31. });
  32. }