Jest, через JSDom Я полагаю, не имеет document.createRange
. Как я могу перезаписать или обеспечить такое поведение?Mocking document.createRange для шутки
версии мы написали для нашей пользовательского JSDom + мокко установки (побежала перед всеми тестами) выглядит следующим образом:
global.Range = function Range() {};
const createContextualFragment = (html) => {
const div = document.createElement('div');
div.innerHTML = html;
return div.children[0]; // so hokey it's not even funny
};
Range.prototype.createContextualFragment = (html) => createContextualFragment(html);
// HACK: Polyfil that allows codemirror to render in a JSDOM env.
global.window.document.createRange = function createRange() {
return {
setEnd:() => {},
setStart:() => {},
getBoundingClientRect:() => {
return { right: 0 };
},
getClientRects:() => [],
createContextualFragment,
};
};
Есть ли способ, чтобы обеспечить это шутит?
хорошо работает, спасибо! – scniro