From b97b973306ec044baa5c544a176699850baaae7c Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Wed, 28 Apr 2021 01:07:05 +0900 Subject: [PATCH] test: worker should be able to load asar files (#28858) --- spec-main/asar-spec.ts | 29 ++++++++++++++++++ spec/fixtures/workers/load_shared_worker.html | 15 +++++++++ spec/fixtures/workers/load_worker.html | 14 +++++++++ spec/fixtures/workers/workers.asar | Bin 0 -> 342 bytes 4 files changed, 58 insertions(+) create mode 100644 spec/fixtures/workers/load_shared_worker.html create mode 100644 spec/fixtures/workers/load_worker.html create mode 100644 spec/fixtures/workers/workers.asar diff --git a/spec-main/asar-spec.ts b/spec-main/asar-spec.ts index f63ae0ecbf61..865a022a9a38 100644 --- a/spec-main/asar-spec.ts +++ b/spec-main/asar-spec.ts @@ -1,5 +1,6 @@ import { expect } from 'chai'; import * as path from 'path'; +import * as url from 'url'; import { BrowserWindow, ipcMain } from 'electron/main'; import { closeAllWindows } from './window-helpers'; import { emittedOnce } from './events-helpers'; @@ -79,4 +80,32 @@ describe('asar package', () => { } }); }); + + describe('worker', () => { + it('Worker can load asar file', async () => { + const w = new BrowserWindow({ show: false }); + await w.loadFile(path.join(fixtures, 'workers', 'load_worker.html')); + + const workerUrl = url.format({ + pathname: path.resolve(fixtures, 'workers', 'workers.asar', 'worker.js').replace(/\\/g, '/'), + protocol: 'file', + slashes: true + }); + const result = await w.webContents.executeJavaScript(`loadWorker('${workerUrl}')`); + expect(result).to.equal('success'); + }); + + it('SharedWorker can load asar file', async () => { + const w = new BrowserWindow({ show: false }); + await w.loadFile(path.join(fixtures, 'workers', 'load_shared_worker.html')); + + const workerUrl = url.format({ + pathname: path.resolve(fixtures, 'workers', 'workers.asar', 'shared_worker.js').replace(/\\/g, '/'), + protocol: 'file', + slashes: true + }); + const result = await w.webContents.executeJavaScript(`loadSharedWorker('${workerUrl}')`); + expect(result).to.equal('success'); + }); + }); }); diff --git a/spec/fixtures/workers/load_shared_worker.html b/spec/fixtures/workers/load_shared_worker.html new file mode 100644 index 000000000000..acee01f439d9 --- /dev/null +++ b/spec/fixtures/workers/load_shared_worker.html @@ -0,0 +1,15 @@ + + diff --git a/spec/fixtures/workers/load_worker.html b/spec/fixtures/workers/load_worker.html new file mode 100644 index 000000000000..267b465939c2 --- /dev/null +++ b/spec/fixtures/workers/load_worker.html @@ -0,0 +1,14 @@ + diff --git a/spec/fixtures/workers/workers.asar b/spec/fixtures/workers/workers.asar new file mode 100644 index 0000000000000000000000000000000000000000..599c694bb746e2bc046aae2cb4bf638ae1d38d75 GIT binary patch literal 342 zcmZ{e-3r1m425^$l}}M}r65HSCT#c!K7ojoE&K7O9Zghl^xe%i6)z_AK$COwC6g$M zDp4*vidrb@3lbzPP-Q&k$A|N0^!haP>L)_7iq{KpMM21rz!Jg&MpE(SCnO^fLWsDk zNjsZ4YcXTBRmII_Tsx~~ct^`~)lQWXn^-l@cZt5QyMp%1Ln?On*Tly2Z2qmCy&{n* o@gMX(*Er(ckQ`R(+_336A)U&5pEyRlQaK#hXMRcId^m!50p0X%r2qf` literal 0 HcmV?d00001