Skip to content

Commit

Permalink
- ESlint fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
akshaydeo committed Jul 25, 2022
1 parent c2472b4 commit 1fa6037
Showing 1 changed file with 21 additions and 76 deletions.
97 changes: 21 additions & 76 deletions spec-main/api-context-bridge-spec.ts
Expand Up @@ -23,11 +23,11 @@ describe('contextBridge', () => {
res.setHeader('Content-Type', 'text/html');
res.end('');
});
await new Promise<void>((resolve) => server.listen(0, '127.0.0.1', resolve));
await new Promise<void>(resolve => server.listen(0, '127.0.0.1', resolve));
});

after(async () => {
if (server) await new Promise((resolve) => server.close(resolve));
if (server) await new Promise(resolve => server.close(resolve));
server = null as any;
});

Expand All @@ -44,9 +44,7 @@ describe('contextBridge', () => {
preload: path.resolve(fixturesPath, 'can-bind-preload.js')
}
});
const [, bound] = await emittedOnce(ipcMain, 'context-bridge-bound', () =>
w.loadFile(path.resolve(fixturesPath, 'empty.html'))
);
const [, bound] = await emittedOnce(ipcMain, 'context-bridge-bound', () => w.loadFile(path.resolve(fixturesPath, 'empty.html')));
expect(bound).to.equal(false);
});

Expand All @@ -58,19 +56,15 @@ describe('contextBridge', () => {
preload: path.resolve(fixturesPath, 'can-bind-preload.js')
}
});
const [, bound] = await emittedOnce(ipcMain, 'context-bridge-bound', () =>
w.loadFile(path.resolve(fixturesPath, 'empty.html'))
);
const [, bound] = await emittedOnce(ipcMain, 'context-bridge-bound', () => w.loadFile(path.resolve(fixturesPath, 'empty.html')));
expect(bound).to.equal(true);
});

const generateTests = (useSandbox: boolean) => {
const getGCInfo = async (): Promise<{
trackedValues: number;
}> => {
const [, info] = await emittedOnce(ipcMain, 'gc-info', () =>
w.webContents.send('get-gc-info')
);
const [, info] = await emittedOnce(ipcMain, 'gc-info', () => w.webContents.send('get-gc-info'));
return info;
};

Expand All @@ -84,19 +78,14 @@ describe('contextBridge', () => {
describe('exposeInMainWorld', () => {
const makeBindingWindow = async (bindingCreator: Function) => {
const preloadContent = `const renderer_1 = require('electron');
${
useSandbox
? ''
: `require('v8').setFlagsFromString('--expose_gc');
${useSandbox ? '' : `require('v8').setFlagsFromString('--expose_gc');
const gc=require('vm').runInNewContext('gc');
renderer_1.contextBridge.exposeInMainWorld('GCRunner', {
run: () => gc()
});`
}
(${bindingCreator.toString()})();`;
const tmpDir = await fs.mkdtemp(
path.resolve(os.tmpdir(), 'electron-spec-preload-')
);
const tmpDir = await fs.mkdtemp(path.resolve(os.tmpdir(), 'electron-spec-preload-'));
dir = tmpDir;
await fs.writeFile(path.resolve(tmpDir, 'preload.js'), preloadContent);
w = new BrowserWindow({
Expand All @@ -106,17 +95,12 @@ describe('contextBridge', () => {
nodeIntegration: true,
sandbox: useSandbox,
preload: path.resolve(tmpDir, 'preload.js'),
additionalArguments: [
'--unsafely-expose-electron-internals-for-testing'
]
additionalArguments: ['--unsafely-expose-electron-internals-for-testing']
}
});
await w.loadURL(
`http://127.0.0.1:${(server.address() as AddressInfo).port}`
);
await w.loadURL(`http://127.0.0.1:${(server.address() as AddressInfo).port}`);
};
const callWithBindings = (fn: Function) =>
w.webContents.executeJavaScript(`(${fn.toString()})(window)`);
const callWithBindings = (fn: Function) => w.webContents.executeJavaScript(`(${fn.toString()})(window)`);

describe(`with sandbox=${useSandbox}`, () => {
it('should proxy numbers', async () => {
Expand Down Expand Up @@ -290,10 +274,7 @@ describe('contextBridge', () => {

it('should proxy promises and reject with the correct value', async () => {
await makeBindingWindow(() => {
contextBridge.exposeInMainWorld(
'example',
Promise.reject(new Error('i-rejected'))
);
contextBridge.exposeInMainWorld('example', Promise.reject(new Error('i-rejected')));
});
const result = await callWithBindings(async (root: any) => {
try {
Expand Down Expand Up @@ -330,10 +311,7 @@ describe('contextBridge', () => {
it('should proxy promises and resolve with the correct value if it resolves later', async () => {
await makeBindingWindow(() => {
contextBridge.exposeInMainWorld('example', {
myPromise: () =>
new Promise((resolve) =>
setTimeout(() => resolve('delayed'), 20)
)
myPromise: () => new Promise((resolve) => setTimeout(() => resolve('delayed'), 20))
});
});
const result = await callWithBindings((root: any) => {
Expand All @@ -345,10 +323,7 @@ describe('contextBridge', () => {
it('should proxy nested promises correctly', async () => {
await makeBindingWindow(() => {
contextBridge.exposeInMainWorld('example', {
myPromise: () =>
new Promise((resolve) =>
setTimeout(() => resolve(Promise.resolve(123)), 20)
)
myPromise: () => new Promise((resolve) => setTimeout(() => resolve(Promise.resolve(123)), 20))
});
});
const result = await callWithBindings((root: any) => {
Expand All @@ -367,12 +342,7 @@ describe('contextBridge', () => {
});
});
const result = await callWithBindings(async (root: any) => {
return [
root.example.getNumber(),
root.example.getString(),
root.example.getBoolean(),
await root.example.getPromise()
];
return [root.example.getNumber(), root.example.getString(), root.example.getBoolean(), await root.example.getPromise()];
});
expect(result).to.deep.equal([123, 'help', false, 'promise']);
});
Expand Down Expand Up @@ -1442,10 +1412,7 @@ describe('contextBridge', () => {
it('should proxy promises and resolve with the correct value if it resolves later', async () => {
await makeBindingWindow(() => {
contextBridge.exposeInIsolatedWorld(1004, 'example', {
myPromise: () =>
new Promise((resolve) =>
setTimeout(() => resolve('delayed'), 20)
)
myPromise: () => new Promise((resolve) => setTimeout(() => resolve('delayed'), 20))
});
});
const result = await callWithBindings((root: any) => {
Expand All @@ -1457,10 +1424,7 @@ describe('contextBridge', () => {
it('should proxy nested promises correctly', async () => {
await makeBindingWindow(() => {
contextBridge.exposeInIsolatedWorld(1004, 'example', {
myPromise: () =>
new Promise((resolve) =>
setTimeout(() => resolve(Promise.resolve(123)), 20)
)
myPromise: () => new Promise((resolve) => setTimeout(() => resolve(Promise.resolve(123)), 20))
});
});
const result = await callWithBindings((root: any) => {
Expand All @@ -1479,12 +1443,7 @@ describe('contextBridge', () => {
});
});
const result = await callWithBindings(async (root: any) => {
return [
root.example.getNumber(),
root.example.getString(),
root.example.getBoolean(),
await root.example.getPromise()
];
return [root.example.getNumber(), root.example.getString(), root.example.getBoolean(), await root.example.getPromise()];
});
expect(result).to.deep.equal([123, 'help', false, 'promise']);
});
Expand Down Expand Up @@ -1808,12 +1767,7 @@ describe('contextBridge', () => {
it('should release the global hold on methods sent across contexts', async () => {
await makeBindingWindow(() => {
const trackedValues: WeakRef<object>[] = [];
require('electron').ipcRenderer.on('get-gc-info', (e) =>
e.sender.send('gc-info', {
trackedValues: trackedValues.filter((value) => value.deref())
.length
})
);
require('electron').ipcRenderer.on('get-gc-info', e => e.sender.send('gc-info', { trackedValues: trackedValues.filter((value) => value.deref()).length }));
contextBridge.exposeInIsolatedWorld(1004, 'example', {
getFunction: () => () => 123,
track: (value: object) => {
Expand Down Expand Up @@ -1843,12 +1797,7 @@ describe('contextBridge', () => {
it('should not leak the global hold on methods sent across contexts when reloading a sandboxed renderer', async () => {
await makeBindingWindow(() => {
const trackedValues: WeakRef<object>[] = [];
require('electron').ipcRenderer.on('get-gc-info', (e) =>
e.sender.send('gc-info', {
trackedValues: trackedValues.filter((value) => value.deref())
.length
})
);
require('electron').ipcRenderer.on('get-gc-info', e => e.sender.send('gc-info', { trackedValues: trackedValues.filter((value) => value.deref()).length }));
contextBridge.exposeInIsolatedWorld(1004, 'example', {
getFunction: () => () => 123,
track: (value: object) => {
Expand Down Expand Up @@ -2150,9 +2099,7 @@ describe('contextBridge', () => {
};
});
// Every protomatch should be true
expect(result.protoMatches).to.deep.equal(
result.protoMatches.map(() => true)
);
expect(result.protoMatches).to.deep.equal(result.protoMatches.map(() => true));
});

it('should not leak prototypes when attaching directly to the global', async () => {
Expand Down Expand Up @@ -2218,9 +2165,7 @@ describe('contextBridge', () => {
}

let arg: any;
cleanedRoot.receiveArguments((o: any) => {
arg = o;
});
cleanedRoot.receiveArguments((o: any) => { arg = o; });
const protoChecks = [
...Object.keys(cleanedRoot).map((key) => [key, String]),
...Object.getOwnPropertySymbols(cleanedRoot.symbolKeyed).map(
Expand Down

0 comments on commit 1fa6037

Please sign in to comment.