diff --git a/tests/frontend/helper/methods.js b/tests/frontend/helper/methods.js index 39245ea63..4c7fe1204 100644 --- a/tests/frontend/helper/methods.js +++ b/tests/frontend/helper/methods.js @@ -219,3 +219,20 @@ helper.timesliderTextLines = function () { return $(this).text(); }).get(); }; + +helper.padIsEmpty = () => ( + !helper.padInner$.document.getSelection().isCollapsed || + (helper.padInner$('div').length === 1 && helper.padInner$('div').first().html() === '
')); + +helper.clearPad = async () => { + if (helper.padIsEmpty()) return; + const commitsBefore = helper.commits.length; + const lines = helper.linesDiv(); + helper.selectLines(lines[0], lines[lines.length - 1]); + await helper.waitForPromise(() => !helper.padInner$.document.getSelection().isCollapsed); + const e = new helper.padInner$.Event(helper.evtType); + e.keyCode = 8; // delete key + helper.padInner$('#innerdocbody').trigger(e); + await helper.waitForPromise(helper.padIsEmpty); + await helper.waitForPromise(() => helper.commits.length > commitsBefore); +}; diff --git a/tests/frontend/specs/timeslider_follow.js b/tests/frontend/specs/timeslider_follow.js index be9bc8125..e2432fa98 100644 --- a/tests/frontend/specs/timeslider_follow.js +++ b/tests/frontend/specs/timeslider_follow.js @@ -38,18 +38,7 @@ describe('timeslider follow', function () { * */ it('only to lines that exist in the current pad view, see #4389', async function () { - // Select everything and clear via delete key - const e = helper.padInner$.Event(helper.evtType); - e.keyCode = 8; // delete key - const lines = helper.linesDiv(); - helper.selectLines(lines[0], lines[lines.length - 1]); // select all lines - // probably unnecessary, but wait for the selection to be Range not Caret - await helper.waitForPromise(() => !helper.padInner$.document.getSelection().isCollapsed - // only supported in FF57+ - // return helper.padInner$.document.getSelection().type === 'Range'; - ); - helper.padInner$('#innerdocbody').trigger(e); - await helper.waitForPromise(() => helper.commits.length === 1); + await helper.clearPad(); await helper.edit('Test line\n\n'); await helper.edit('Another test line', 3);