@shopify/jest-dom-mocks
Version:
Jest mocking utilities for working with the DOM
83 lines (78 loc) • 2.76 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var animationFrame$1 = require('./animation-frame.js');
var requestIdleCallback$1 = require('./request-idle-callback.js');
var clock$1 = require('./clock.js');
var fetch = require('./fetch.js');
var location$1 = require('./location.js');
var matchMedia$1 = require('./match-media.js');
var storage = require('./storage.js');
var timer$1 = require('./timer.js');
var userTiming$1 = require('./user-timing.js');
var intersectionObserver$1 = require('./intersection-observer.js');
var promise$1 = require('./promise.js');
var dimension$1 = require('./dimension.js');
var connection$1 = require('./connection.js');
const connection = new connection$1.Connection();
const animationFrame = new animationFrame$1["default"]();
const requestIdleCallback = new requestIdleCallback$1["default"]();
const clock = new clock$1["default"]();
const location = new location$1["default"]();
const matchMedia = new matchMedia$1["default"]();
const localStorage = new storage["default"]();
const sessionStorage = new storage["default"]();
const timer = new timer$1["default"]();
const userTiming = new userTiming$1["default"]();
const intersectionObserver = new intersectionObserver$1["default"]();
const promise = new promise$1["default"]();
const dimension = new dimension$1["default"]();
function installMockStorage() {
if (typeof window !== 'undefined') {
Object.defineProperties(window, {
localStorage: {
value: localStorage
},
sessionStorage: {
value: sessionStorage
}
});
}
}
const mocksToEnsureReset = {
clock,
location,
timer,
promise,
animationFrame,
fetch: fetch["default"],
matchMedia,
userTiming,
intersectionObserver,
connection
};
function ensureMocksReset() {
for (const mockName of Object.keys(mocksToEnsureReset)) {
if (mocksToEnsureReset[mockName].isMocked()) {
throw new Error(`You did not reset the mocked ${mockName}. Make sure to call ${mockName}.restore() after your tests have run.`);
}
}
localStorage.restore();
sessionStorage.restore();
}
exports.fetch = fetch["default"];
exports.mediaQueryList = matchMedia$1.mediaQueryList;
exports.animationFrame = animationFrame;
exports.clock = clock;
exports.connection = connection;
exports.dimension = dimension;
exports.ensureMocksReset = ensureMocksReset;
exports.installMockStorage = installMockStorage;
exports.intersectionObserver = intersectionObserver;
exports.localStorage = localStorage;
exports.location = location;
exports.matchMedia = matchMedia;
exports.promise = promise;
exports.requestIdleCallback = requestIdleCallback;
exports.sessionStorage = sessionStorage;
exports.timer = timer;
exports.userTiming = userTiming;