Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
constructor(config) {
// lazy require
const {JSDOM} = require('jsdom');
this.document = new JSDOM('', {
url: config.testURL,
runScripts: 'dangerously'
});
const global = (this.global = this.document.window.document.defaultView);
// Node's error-message stack size is limited at 10, but it's pretty useful
// to see more than that when a test fails.
global.Error.stackTraceLimit = 100;
installCommonGlobals(global, config.globals);
this.moduleMocker = new mock.ModuleMocker(global);
this.fakeTimers = new FakeTimers(global, this.moduleMocker, config);
}
constructor(config) {
// jest doesn't need full global before runScript, but to reduce possible issues we create full copy here
this.global = assign({}, global, deepCopy(config.globals));
this.moduleMocker = new ModuleMocker(global);
this.fakeTimers = new FakeTimers(this.global, this.moduleMocker, config);
}
const originalAddListener = global.addEventListener
const originalRemoveListener = global.removeEventListener
global.addEventListener = function(...args) {
if (args[0] === 'error') {
userErrorListenerCount++
}
return originalAddListener.apply(this, args)
}
global.removeEventListener = function(...args) {
if (args[0] === 'error') {
userErrorListenerCount--
}
return originalRemoveListener.apply(this, args)
}
/* eslint-enable @typescript-eslint/unbound-method */
this.moduleMocker = new ModuleMocker(global)
const timerConfig = {
idToRef: id => id,
refToId: ref => ref,
}
this.fakeTimers = new JestFakeTimers({
config,
global,
moduleMocker: this.moduleMocker,
timerConfig,
})
this.global.jsdom = this.dom
}
setup() {
constructor(config) {
const global = (this.global = window);
installCommonGlobals(global, config.globals);
this.moduleMocker = new mock.ModuleMocker(global);
this.fakeTimers = new FakeTimers(global, this.moduleMocker, config);
}
constructor(config: ProjectConfig) {
this.global = global;
this.moduleMocker = new mock.ModuleMocker(global);
this.fakeTimers = {
useFakeTimers() {
throw new Error('fakeTimers are not supproted in electron environment');
},
clearAllTimers() {},
};
installCommonGlobals(global, config.globals);
}
constructor(config: ProjectConfig) {
this.global = global;
this.moduleMocker = new mock.ModuleMocker(global);
this.fakeTimers = {
useFakeTimers() {
throw new Error('fakeTimers are not supproted in atom environment');
},
};
}
let userErrorListenerCount = 0;
global.addEventListener = function (name) {
if (name === 'error') {
userErrorListenerCount++;
}
return originalAddListener.apply(this, arguments);
};
global.removeEventListener = function (name) {
if (name === 'error') {
userErrorListenerCount--;
}
return originalRemoveListener.apply(this, arguments);
};
}
this.moduleMocker = new mock.ModuleMocker(global);
const timerConfig = {
idToRef: id => id,
refToId: ref => ref,
};
this.fakeTimers = new FakeTimers({
config: this._config,
global,
moduleMocker: this.moduleMocker,
timerConfig,
});
}
let userErrorListenerCount = 0;
global.addEventListener = function (name) {
if (name === 'error') {
userErrorListenerCount++;
}
return originalAddListener.apply(this, arguments);
};
global.removeEventListener = function (name) {
if (name === 'error') {
userErrorListenerCount--;
}
return originalRemoveListener.apply(this, arguments);
};
}
this.moduleMocker = new mock.ModuleMocker(global);
const timerConfig = {
idToRef: id => id,
refToId: ref => ref,
};
this.fakeTimers = new FakeTimers({
config: this._config,
global,
moduleMocker: this.moduleMocker,
timerConfig,
});
}
constructor(config) {
const global = (this.global = window);
installCommonGlobals(global, config.globals);
this.moduleMocker = new mock.ModuleMocker(global);
this.fakeTimers = new FakeTimers({
config,
global,
moduleMocker: this.moduleMocker,
});
}