Spaces:
Sleeping
Sleeping
| const { test } = require('tap') | |
| const { join } = require('path') | |
| const { once } = require('events') | |
| const { MessageChannel } = require('worker_threads') | |
| const ThreadStream = require('..') | |
| test('message events emitted on the stream are posted to the worker', async function (t) { | |
| t.plan(1) | |
| const { port1, port2 } = new MessageChannel() | |
| const stream = new ThreadStream({ | |
| filename: join(__dirname, 'on-message.js'), | |
| sync: false | |
| }) | |
| t.teardown(() => { | |
| stream.end() | |
| }) | |
| stream.emit('message', { text: 'hello', takeThisPortPlease: port1 }, [port1]) | |
| const [confirmation] = await once(port2, 'message') | |
| t.equal(confirmation, 'received: hello') | |
| }) | |