Commit | Line | Data |
---|---|---|
a074ffee JB |
1 | import { expect } from 'expect' |
2 | import { ThreadWorker } from '../../lib/index.js' | |
fd027a65 | 3 | |
e1ffb94f JB |
4 | describe('Thread worker test suite', () => { |
5 | let numberOfMessagesPosted = 0 | |
440dd7d7 | 6 | const postMessage = () => { |
ffcbbad8 | 7 | ++numberOfMessagesPosted |
e1ffb94f JB |
8 | } |
9 | class SpyWorker extends ThreadWorker { | |
85aeb3f3 JB |
10 | constructor (fn) { |
11 | super(fn) | |
12 | this.port = { postMessage } | |
e1ffb94f | 13 | } |
74a2a194 | 14 | } |
74a2a194 | 15 | |
2431bdb4 JB |
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)).toStrictEqual(error) | |
20 | const errorMessage = 'Error as a string' | |
21 | expect(worker.handleError(errorMessage)).toStrictEqual(errorMessage) | |
22 | }) | |
23 | ||
85aeb3f3 | 24 | it('Verify worker invokes the postMessage() method on port property', () => { |
74a2a194 APA |
25 | const worker = new SpyWorker(() => {}) |
26 | worker.sendToMainWorker({ ok: 1 }) | |
27 | expect(numberOfMessagesPosted).toBe(1) | |
28 | }) | |
fd027a65 | 29 | }) |