1 import { expect } from 'expect'
2 import { ThreadWorker } from '../../lib/index.js'
4 describe('Thread worker test suite', () => {
5 let numberOfMessagesPosted = 0
6 const postMessage = () => {
7 ++numberOfMessagesPosted
9 class SpyWorker extends ThreadWorker {
12 this.port = { postMessage }
16 it('Verify that handleError() method is working properly', () => {
17 const error = new Error('Error as an error')
18 const worker = new ThreadWorker(() => {})
19 expect(worker.handleError(error)).toBeInstanceOf(Error)
20 expect(worker.handleError(error)).toStrictEqual(error)
21 const errorMessage = 'Error as a string'
22 expect(worker.handleError(errorMessage)).toStrictEqual(errorMessage)
25 it('Verify worker invokes the postMessage() method on port property', () => {
26 const worker = new SpyWorker(() => {})
27 worker.sendToMainWorker({ ok: 1 })
28 expect(numberOfMessagesPosted).toBe(1)