Как `document.execCommand` может быть проверен модулем? - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь написать модульные тесты для операций, подобных текстовому процессору, таких как применение списка к текстовому узлу, но я обнаружил, что document.execCommand недоступен для jsdom, поэтому я озадаченкак я мог провести модульное тестирование следующей операции:

document.getElementById('run').addEventListener('click', function() {
  document.execCommand("insertorderedlist");
});
<div contenteditable="true">Foo</div>
<button id="run">Select "Foo" then Click</button>

1 Ответ

0 голосов
/ 06 октября 2018

В итоге мне пришлось явно издеваться над document.execCommand:

// test-mocks.js
global.document.execCommand = function execCommandMock() { };

А потом напрямую подавать мои издевки в мокко:

"specs": "mocha --require @babel/register --require jsdom-global/register --require ignore-styles --require test-mocks.js ./path/to/tests.spec.js"
...