it('should fail if no worker is supplied', (done) => { messages.workerSendMessage({ none: null }).then(() => { assert.fail(method, method, badSuccess); done(`${method} ${badSuccess}`); }).catch(() => { // worked. done(); }); });
it('should use worker onmessage if message channel does not exist, success', (done) => { const worker = mockWorker.createWorker({ onmessage: true }); messages.workerSendMessage({ empty: null }, worker).then((data) => { expect(data.handled).to.equal(mockWorker.handled.worker); done(); }).catch(done); });
it('should use message channel if exists, success', (done) => { // give the shared object to the mock worker. const worker = mockWorker.createWorker({ messageChannel: messageChannel }); messages.workerSendMessage({ empty: null }, worker).then((data) => { expect(data.handled).to.equal(mockWorker.handled.messageChannel); done(); }).catch(done); });
it('should fall through if no messaging handler', (done) => { // Make sure serviceWorker doesn't show up in jsdom expect(global.navigator.serviceWorker).to.not.exist; expect(global.window.navigator.serviceWorker).to.not.exist; const worker = mockWorker.createWorker(); messages.workerSendMessage({ none: null }, worker).then(() => { assert.fail(method, method, badSuccess); done(`${method} ${badSuccess}`); }, () => { // reject called because no serviceWorker on jsdom done(); }).catch(done); });
it('should use worker onmessage if message channel does not exist, failure', (done) => { const worker = mockWorker.createWorker({ onmessage: true, simulateError: true }); messages.workerSendMessage({ empty: null }, worker).then(() => { assert.fail(method, method, badSuccess); done(`${method} ${badSuccess}`); }, (error) => { expect(error).to.be.true; done(); }).catch(done); });
it('should use message channel if exists, failure', (done) => { // give the shared object to the mock worker. const worker = mockWorker.createWorker({ messageChannel: messageChannel, simulateError: true }); messages.workerSendMessage({ empty: null }, worker).then(() => { assert.fail(method, method, badSuccess); done(`${method} ${badSuccess}`); }, (error) => { expect(error).to.be.true; done(); }).catch((error) => { done(error); }); });