mirror of https://github.com/nodejs/node.git
23 lines
891 B
JavaScript
23 lines
891 B
JavaScript
'use strict';
|
|
const common = require('../../common');
|
|
const assert = require('assert');
|
|
const { Worker } = require('worker_threads');
|
|
|
|
const bindingPath = require.resolve(`./build/${common.buildType}/binding`);
|
|
const binding = require(bindingPath);
|
|
assert.strictEqual(binding.hello(), 'world');
|
|
console.log('binding.hello() =', binding.hello());
|
|
|
|
// Test multiple loading of the same module.
|
|
delete require.cache[bindingPath];
|
|
const rebinding = require(bindingPath);
|
|
assert.strictEqual(rebinding.hello(), 'world');
|
|
assert.notStrictEqual(binding.hello, rebinding.hello);
|
|
|
|
// Test that workers can load addons declared using NAPI_MODULE_INIT().
|
|
new Worker(`
|
|
const { parentPort } = require('worker_threads');
|
|
const msg = require(${JSON.stringify(bindingPath)}).hello();
|
|
parentPort.postMessage(msg)`, { eval: true })
|
|
.on('message', common.mustCall((msg) => assert.strictEqual(msg, 'world')));
|