https://developer.mozilla.org/en-US/docs/Web/API/Window.getSelection
Mesmo um calço que não funcionasse iria longe. Atualmente eu só faço o seguinte:
window.document.getSelection = function() { return { addRange: function() {}, remove AllRanges:function () { } } };
Apenas para evitar "não é possível chamar indefinido" ao executar getSelection().
Nós não estamos realmente no negócio de shims que não funcionam, mas você pode adicionar isso às suas próprias janelas jsdom.
Alguma idéia de como incluir isso em como o Jest usa o jsdom?
Não tenho certeza; @Sebmaster está um pouco mais familiarizado com o jest, mas acho que o rastreador de problemas do Jest será sua melhor aposta.
@domenic obrigado, consegui o shim que precisava adicionando uma versão do código de @tolmasky em um Jest helper:
// spec/javascripts/helpers/jest-env.js
// window.getSelection isn't in jsdom
// https://github.com/tmpvar/jsdom/issues/937
window.getSelection = function() {
return {
addRange: function() {},
removeAllRanges:function() {}
};
};
e vinculando ao arquivo acima via config.setupEnvScriptFile do Jest.
Comentários muito úteis
@domenic obrigado, consegui o shim que precisava adicionando uma versão do código de @tolmasky em um Jest helper:
e vinculando ao arquivo acima via config.setupEnvScriptFile do Jest.