deno/tests/testdata/workers/event_worker_scope.js
Matt Mastracci f5e46c9bf2
chore: move cli/tests/ -> tests/ (#22369)
This looks like a massive PR, but it's only a move from cli/tests ->
tests, and updates of relative paths for files.

This is the first step towards aggregate all of the integration test
files under tests/, which will lead to a set of integration tests that
can run without the CLI binary being built.

While we could leave these tests under `cli`, it would require us to
keep a more complex directory structure for the various test runners. In
addition, we have a lot of complexity to ignore various test files in
the `cli` project itself (cargo publish exclusion rules, autotests =
false, etc).

And finally, the `tests/` folder will eventually house the `test_ffi`,
`test_napi` and other testing code, reducing the size of the root repo
directory.

For easier review, the extremely large and noisy "move" is in the first
commit (with no changes -- just a move), while the remainder of the
changes to actual files is in the second commit.
2024-02-10 20:22:13 +00:00

44 lines
774 B
JavaScript

let messageHandlersCalled = 0;
let errorHandlersCalled = 0;
onmessage = function (e) {
if (e.data === "boom") {
throw new Error("boom error!");
}
messageHandlersCalled++;
};
self.addEventListener("message", (_e) => {
messageHandlersCalled++;
});
self.addEventListener("message", (_e) => {
messageHandlersCalled++;
});
self.addEventListener("message", (_e) => {
messageHandlersCalled++;
postMessage({
messageHandlersCalled,
errorHandlersCalled,
});
});
onerror = function (_e) {
errorHandlersCalled++;
};
self.addEventListener("error", (_e) => {
errorHandlersCalled++;
});
self.addEventListener("error", (_e) => {
errorHandlersCalled++;
});
self.addEventListener("error", (e) => {
errorHandlersCalled++;
e.preventDefault();
});