https://developer.mozilla.org/en-US/docs/Web/API/Window.getSelection
ΠΠ°ΠΆΠ΅ Π½Π΅ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΡΡΠ°Ρ ΠΏΡΠΎΠΊΠ»Π°Π΄ΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Ρ ΠΏΡΠΎΡΡΠΎ Π΄Π΅Π»Π°Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
window.document.getSelection = function() { return { addRange: function() {}, remove AllRange: function () { } } };
ΠΡΠΎΡΡΠΎ ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Β«Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅Β» ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ getSelection().
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΌΡ Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡΡ Π½Π΅ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΡΡΠΈΠΌΠΈ ΠΏΡΠΎΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡ Π² ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΎΠΊΠ½Π° jsdom.
ΠΡΠ±ΡΠ΅ ΠΈΠ΄Π΅ΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠ΅ΡΡ ΡΡΠΎ Π² ΡΠΎΠΌ, ΠΊΠ°ΠΊ Jest ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ jsdom?
Π‘Π°ΠΌ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½; @Sebmaster Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡΡΡΠ΅ Π·Π½Π°ΠΊΠΎΠΌ Ρ ΡΡΡΠΊΠΎΠΉ, Π½ΠΎ Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠ΅ΠΊΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Jest Π±ΡΠ΄Π΅Ρ Π²Π°ΡΠΈΠΌ Π»ΡΡΡΠΈΠΌ Π²ΡΠ±ΠΎΡΠΎΠΌ.
@domenic ΡΠΏΠ°ΡΠΈΠ±ΠΎ, ΠΏΠΎΠ»ΡΡΠΈΠ» Π½ΡΠΆΠ½ΡΡ ΠΌΠ½Π΅ ΠΏΡΠΎΠΊΠ»Π°Π΄ΠΊΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠ΄Π° @tolmasky Π² ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊ Jest:
// 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() {}
};
};
ΠΈ ΡΡΡΠ»ΠΊΠ° Π½Π° Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠ΅ΡΠ΅Π· config.setupEnvScriptFile Jest.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
@domenic ΡΠΏΠ°ΡΠΈΠ±ΠΎ, ΠΏΠΎΠ»ΡΡΠΈΠ» Π½ΡΠΆΠ½ΡΡ ΠΌΠ½Π΅ ΠΏΡΠΎΠΊΠ»Π°Π΄ΠΊΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠ΄Π° @tolmasky Π² ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊ Jest:
ΠΈ ΡΡΡΠ»ΠΊΠ° Π½Π° Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠ΅ΡΠ΅Π· config.setupEnvScriptFile Jest.