UNPKG

@adjust/core

Version:

A framework for creating highly customisable open source software

85 lines 3.44 kB
Object.defineProperty(exports, "__esModule", { value: true }); const electron_1 = require("electron"); const ipcMain_1 = require("../ipcMain"); describe("IpcMain/IpcRenderer", () => { let window; beforeAll(async (done) => { // Create a window window = await new Promise(res => { const browserWindow = new electron_1.BrowserWindow({ width: 800, height: 600, show: false, webPreferences: { nodeIntegration: true, }, }); electron_1.ipcMain.once("loaded", () => { res(browserWindow); }); browserWindow.on("closed", () => { window = null; }); // browserWindow.webContents.openDevTools(); browserWindow.loadURL(`file://${__dirname}/window.helper.html`); }); // Setup listeners ipcMain_1.IpcMain.on("received", () => true); ipcMain_1.IpcMain.on("arguments", (arg1, arg2) => ({ arg1, arg2 })); ipcMain_1.IpcMain.on("argumentsAsync", async (arg1, arg2) => { await new Promise(res => setTimeout(res, 2000)); return { arg1, arg2 }; }); done(); }); afterAll(async (done) => { if (window) { window.close(); window = null; } }); describe("Main.send + renderer.on", () => { it("Should be received + get a response ", async () => { const responses = await ipcMain_1.IpcMain.send(window, "received"); expect(responses).toEqual([true]); }); it("Should pass the right arguments", async () => { const responses = await ipcMain_1.IpcMain.send(window, "arguments", "shit1", "shit2"); expect(responses).toEqual([{ arg1: "shit1", arg2: "shit2" }]); }); it("Should handle async responses", async () => { const responses = await ipcMain_1.IpcMain.send(window, "argumentsAsync", "shit1", "shit2"); expect(responses).toEqual([{ arg1: "shit1", arg2: "shit2" }]); }); }); describe("Renderer.send + main.on", () => { let response; beforeAll(async (done) => { response = (await ipcMain_1.IpcMain.send(window, "sendTests", "shit1", "shit2", "shit1"))[0]; done(); }); it("Should be received + get a response ", () => { expect(response.resp1).toEqual([true]); }); it("Should pass the right arguments", () => { expect(response.resp2).toEqual([{ arg1: "shit1", arg2: "shit2" }]); }); it("Should handle async responses", () => { expect(response.resp3).toEqual([{ arg1: "shit1" }]); }); }); describe("Renderer.sendSync + main.on", () => { let response; beforeAll(async (done) => { response = (await ipcMain_1.IpcMain.send(window, "sendTests", "shit1", "shit2"))[0]; done(); }); it("Should be received + get a response ", () => { expect(response.resp1).toEqual([true]); }); it("Should pass the right arguments", () => { expect(response.resp2).toEqual([{ arg1: "shit1", arg2: "shit2" }]); }); }); }); //# sourceMappingURL=ipc.main.js.map