UNPKG

mockzilla-webextension

Version:

A mocking toolkit for web-extensions leveraging the power of TypeScript to enhance your jest experience.

30 lines (29 loc) 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const mockzilla_1 = require("mockzilla"); const [, mockBrowser, mockBrowserRootNode] = (0, mockzilla_1.deepMock)("browser", false); global.mockBrowser = mockBrowser; global.mockBrowserRootNode = mockBrowserRootNode; const proxy = new Proxy({}, { get: (...args) => { if (args[1] === "__esModule") return false; return mockBrowserRootNode.traps.get(...args); }, // forward the rest to mockBrowserRootNode traps ownKeys: (...args) => mockBrowserRootNode.traps.ownKeys(...args), has: (...args) => mockBrowserRootNode.traps.has(...args), apply: (...args) => mockBrowserRootNode.traps.apply(...args), getPrototypeOf: (...args) => mockBrowserRootNode.traps.getPrototypeOf(...args), setPrototypeOf: (...args) => mockBrowserRootNode.traps.setPrototypeOf(...args), isExtensible: (...args) => mockBrowserRootNode.traps.isExtensible(...args), preventExtensions: (...args) => mockBrowserRootNode.traps.preventExtensions(...args), set: (...args) => mockBrowserRootNode.traps.set(...args), deleteProperty: (...args) => mockBrowserRootNode.traps.deleteProperty(...args), construct: (...args) => mockBrowserRootNode.traps.construct(...args), getOwnPropertyDescriptor: (...args) => mockBrowserRootNode.traps.getOwnPropertyDescriptor(...args), defineProperty: (...args) => mockBrowserRootNode.traps.defineProperty(...args), }); jest.mock("webextension-polyfill", () => proxy); beforeEach(() => mockBrowserRootNode.enable()); afterEach(() => mockBrowserRootNode.verifyAndDisable());