Jsdom: Implementieren Sie DOM-Auswahl-APIs

Erstellt am 5. Nov. 2014  ·  4Kommentare  ·  Quelle: jsdom/jsdom

https://developer.mozilla.org/en-US/docs/Web/API/Window.getSelection

Selbst ein nicht funktionierender Shim würde einen langen Weg zurücklegen. Aktuell mache ich nur folgendes:

window.document.getSelection = function() { return { addRange: function() {}, remove AllRanges:function () { } } };

Nur um zu vermeiden, dass beim Ausführen von getSelection() "undefined nicht aufgerufen werden kann".

feature

Hilfreichster Kommentar

@domenic danke, habe den Shim bekommen, den ich brauchte, indem ich eine Version von @tolmaskys Code in einem Jest-Helfer hinzugefügt habe:

// 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() {} 
  };
};

und über Jests config.setupEnvScriptFile auf die obige Datei verlinken.

Alle 4 Kommentare

Wir sind nicht wirklich im Geschäft mit nicht funktionierenden Shims, aber Sie können das gerne zu Ihren eigenen jsdom-Fenstern hinzufügen.

Irgendwelche Ideen, wie man dies in die Art und Weise, wie Jest jsdom verwendet, backen kann?

Ich bin mir nicht sicher; @Sebmaster ist mit Scherz etwas vertrauter, aber ich denke, der Jest Issue Tracker ist die beste Wahl.

@domenic danke, habe den Shim bekommen, den ich brauchte, indem ich eine Version von @tolmaskys Code in einem Jest-Helfer hinzugefügt habe:

// 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() {} 
  };
};

und über Jests config.setupEnvScriptFile auf die obige Datei verlinken.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen