mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
Signed-off-by: avivkeller <me@aviv.sh> PR-URL: https://github.com/nodejs/node/pull/65507 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com> Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
30 lines
843 B
JavaScript
30 lines
843 B
JavaScript
// Flags: --experimental-web-worker
|
|
'use strict';
|
|
|
|
const common = require('../common');
|
|
const fixtures = require('../common/fixtures');
|
|
const assert = require('assert');
|
|
|
|
{
|
|
// Both are no-ops on a worker whose script could not be loaded.
|
|
const worker = new Worker(fixtures.fileURL('web-worker', 'nonexistent.js').href);
|
|
worker.addEventListener('error', common.mustCall());
|
|
process.unref(worker);
|
|
process.ref(worker);
|
|
}
|
|
|
|
const worker = new Worker(fixtures.fileURL('web-worker', 'echo.js').href);
|
|
|
|
worker.addEventListener('error', common.mustNotCall('worker failed'));
|
|
worker.addEventListener('message', common.mustCall(({ data }) => {
|
|
assert.strictEqual(data, 'hello');
|
|
worker.terminate();
|
|
}));
|
|
|
|
process.once('beforeExit', common.mustCall(() => {
|
|
process.ref(worker);
|
|
worker.postMessage('hello');
|
|
}));
|
|
|
|
process.unref(worker);
|