import vm from "vm";
import fs from "fs";
describe("unfetch/polyfill", () => {
it("should resolve to fetch when window.fetch exists", () => {
function fetch() {}
let window = { fetch, require };
window.window = window.global = window.self = window;
let filename = require.resolve("../polyfill/index.js");
vm.runInNewContext(
fs.readFileSync(filename, "utf8"),
window,
"polyfill-test.js"
);
expect(window.fetch).toBe(fetch);
});
it("should resolve to unfetch when window.fetch does not exist", () => {
let window = { require };
window.window = window.global = window.self = window;
let filename = require.resolve("../polyfill/index.js");
vm.runInNewContext(
fs.readFileSync(filename, "utf8"),
window,
"polyfill-test.js"
);
expect(window.fetch).toEqual(expect.any(Function));
expect(window.fetch).toHaveLength(2);
});
});