node/test/parallel/test-worker-environmentdata.js
Antoine du Hamel 2856475f3e
test: ensure assertions are reached on more tests
PR-URL: https://github.com/nodejs/node/pull/60634
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2025-11-15 13:16:37 +00:00

36 lines
1.1 KiB
JavaScript

'use strict';
// Flags: --expose-internals
require('../common');
const {
Worker,
getEnvironmentData,
setEnvironmentData,
threadId,
} = require('worker_threads');
const { assignEnvironmentData } = require('internal/worker');
const assert = require('assert');
if (!process.env.HAS_STARTED_WORKER) {
process.env.HAS_STARTED_WORKER = 1;
setEnvironmentData('foo', 'bar');
setEnvironmentData('hello', { value: 'world' });
setEnvironmentData(1, 2);
assert.strictEqual(getEnvironmentData(1), 2);
setEnvironmentData(1); // Delete it, key won't show up in the worker.
new Worker(__filename);
setEnvironmentData('hello'); // Delete it. Has no impact on the worker.
} else {
assert.strictEqual(getEnvironmentData('foo'), 'bar');
assert.deepStrictEqual(getEnvironmentData('hello'), { value: 'world' });
assert.strictEqual(getEnvironmentData(1), undefined);
assignEnvironmentData(undefined); // It won't setup any key.
assert.strictEqual(getEnvironmentData(undefined), undefined);
// Recurse to make sure the environment data is inherited
if (threadId <= 2)
new Worker(__filename);
}