summaryrefslogtreecommitdiff
path: root/test/parallel/test-worker-message-port-wasm-module.js
blob: b1aa522dc4d50611192d8c728b87c6bca60f86fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
'use strict';
const common = require('../common');
const assert = require('assert');
const fixtures = require('../common/fixtures');

const { Worker } = require('worker_threads');
const wasmModule = new WebAssembly.Module(fixtures.readSync('simple.wasm'));

const worker = new Worker(`
const { parentPort } = require('worker_threads');
parentPort.once('message', ({ wasmModule }) => {
  const instance = new WebAssembly.Instance(wasmModule);
  parentPort.postMessage(instance.exports.add(10, 20));
});
`, { eval: true });

worker.once('message', common.mustCall((num) => assert.strictEqual(num, 30)));
worker.postMessage({ wasmModule });