diff --git a/addons/web_editor/static/src/js/editor/odoo-editor/test/spec/copyPaste.test.js b/addons/web_editor/static/src/js/editor/odoo-editor/test/spec/copyPaste.test.js index b78baec7735..708046c18e0 100644 --- a/addons/web_editor/static/src/js/editor/odoo-editor/test/spec/copyPaste.test.js +++ b/addons/web_editor/static/src/js/editor/odoo-editor/test/spec/copyPaste.test.js @@ -21,7 +21,7 @@ describe('Copy', () => { contentBefore: '
[]
', stepFunction: async editor => { const clipboardData = new DataTransfer(); - triggerEvent(editor.editable, 'copy', { clipboardData }); + await triggerEvent(editor.editable, 'copy', { clipboardData }); // Check that nothing was set as clipboard content window.chai.expect(clipboardData.types.length).to.be.equal(0); }, @@ -31,7 +31,7 @@ describe('Copy', () => { stepFunction: async editor => { const clipboardData = new DataTransfer(); clipboardData.setData('text/plain', 'should stay'); - triggerEvent(editor.editable, 'copy', { clipboardData }); + await triggerEvent(editor.editable, 'copy', { clipboardData }); // Check that clipboard data was not overwritten window.chai.expect(clipboardData.getData('text/plain')).to.be.equal('should stay'); }, @@ -44,7 +44,7 @@ describe('Copy', () => { contentBefore: 'a[bcd]e
', stepFunction: async editor => { const clipboardData = new DataTransfer(); - triggerEvent(editor.editable, 'copy', { clipboardData }); + await triggerEvent(editor.editable, 'copy', { clipboardData }); window.chai.expect(clipboardData.getData('text/plain')).to.be.equal('bcd'); window.chai.expect(clipboardData.getData('text/html')).to.be.equal('bcd'); window.chai.expect(clipboardData.getData('text/odoo-editor')).to.be.equal('bcd'); @@ -54,7 +54,7 @@ describe('Copy', () => { contentBefore: '[abc
efg]
|
|
|
[]
', stepFunction: async editor => { const clipboardData = new DataTransfer(); - triggerEvent(editor.editable, 'cut', { clipboardData }); + await triggerEvent(editor.editable, 'cut', { clipboardData }); // Check that nothing was set as clipboard content window.chai.expect(clipboardData.types.length).to.be.equal(0); }, @@ -90,7 +90,7 @@ describe('Cut', () => { stepFunction: async editor => { const clipboardData = new DataTransfer(); clipboardData.setData('text/plain', 'should stay'); - triggerEvent(editor.editable, 'cut', { clipboardData }); + await triggerEvent(editor.editable, 'cut', { clipboardData }); // Check that clipboard data was not overwritten window.chai.expect(clipboardData.getData('text/plain')).to.be.equal('should stay'); }, @@ -103,7 +103,7 @@ describe('Cut', () => { contentBefore: 'a[bcd]e
', stepFunction: async editor => { const clipboardData = new DataTransfer(); - triggerEvent(editor.editable, 'cut', { clipboardData }); + await triggerEvent(editor.editable, 'cut', { clipboardData }); window.chai.expect(clipboardData.getData('text/plain')).to.be.equal('bcd'); window.chai.expect(clipboardData.getData('text/html')).to.be.equal('bcd'); window.chai.expect(clipboardData.getData('text/odoo-editor')).to.be.equal('bcd'); @@ -114,7 +114,7 @@ describe('Cut', () => { contentBefore: '[abc
efg]
a[bcd]e
', stepFunction: async editor => { const historyStepsCount = editor._historySteps.length; - triggerEvent(editor.editable, 'cut', { clipboardData: new DataTransfer() }); + await triggerEvent(editor.editable, 'cut', { clipboardData: new DataTransfer() }); window.chai.expect(editor._historySteps.length).to.be.equal(historyStepsCount + 1); undo(editor); }, @@ -141,8 +141,8 @@ describe('Cut', () => { // Set selection to a[bcd]e. const selection = editor.document.getSelection(); selection.extend(selection.anchorNode, 4); - triggerEvent(editor.editable, 'cut', { clipboardData: new DataTransfer() }); - triggerEvent(editor.editable, 'input', { + await triggerEvent(editor.editable, 'cut', { clipboardData: new DataTransfer() }); + await triggerEvent(editor.editable, 'input', { inputType: 'deleteContentForward' }); }, @@ -1477,7 +1477,7 @@ describe('Paste', () => { // Ensure the powerbox is active window.chai.expect(editor.powerbox.isOpen).to.be.true; // Pick the first command (Embed image) - triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); + await triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); }, contentAfter: `xy[]z
xy${imageUrl}[]z
`, }); @@ -1731,7 +1731,7 @@ describe('Paste', () => { // Ensure the powerbox is active window.chai.expect(editor.powerbox.isOpen).to.be.true; // Pick the first command (Embed image) - triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); + await triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); }, contentAfter: `ab[]cd
ab${imageUrl}[]cd
`, }); @@ -1807,8 +1807,8 @@ describe('Paste', () => { // Ensure the powerbox is active window.chai.expect(editor.powerbox.isOpen).to.be.true; // Pick the second command (Paste as URL) - triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); - triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); + await triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); }, contentAfter: `${url}[]
`, }); @@ -1824,8 +1824,8 @@ describe('Paste', () => { // Ensure the powerbox is active window.chai.expect(editor.powerbox.isOpen).to.be.true; // Pick the second command (Paste as URL) - triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); - triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); + await triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); }, contentAfter: `*should not disappear*${url}[]
`, }); @@ -1878,8 +1878,8 @@ describe('Paste', () => { // Ensure the powerbox is active window.chai.expect(editor.powerbox.isOpen).to.be.true; // Pick the second command (Paste as URL) - triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); - triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); + await triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); }, contentAfter: `ab${url}[]cd
`, }); @@ -1907,8 +1907,8 @@ describe('Paste', () => { // Ensure the powerbox is active window.chai.expect(editor.powerbox.isOpen).to.be.true; // Pick the second command (Paste as URL) - triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); - triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); + await triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); }, contentAfter: `ab${url}[]cd
`, }); @@ -1922,7 +1922,7 @@ describe('Paste', () => { // Ensure the powerbox is active window.chai.expect(editor.powerbox.isOpen).to.be.true; // Pick first command (Embed image) - triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); + await triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); // Undo await nextTick(); editor.historyUndo(); @@ -1936,10 +1936,9 @@ describe('Paste', () => { // Ensure the powerbox is active window.chai.expect(editor.powerbox.isOpen).to.be.true; // Pick second command (Paste as URL) - triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); - triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); + await triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); // Undo - await nextTick(); editor.historyUndo(); }, contentAfter: '[abc]
', @@ -1995,9 +1994,8 @@ describe('Paste', () => { // Ensure the powerbox is active window.chai.expect(editor.powerbox.isOpen).to.be.true; // Pick the second command (Paste as URL) - triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); - triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); - await nextTick(); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); + await triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); }, contentAfter: `${url}[]
`, }); @@ -2013,8 +2011,8 @@ describe('Paste', () => { // Ensure the powerbox is active window.chai.expect(editor.powerbox.isOpen).to.be.true; // Pick the second command (Paste as URL) - triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); - triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); + await triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); }, contentAfter: `*should not disappear*${url}[]
`, }); @@ -2067,8 +2065,8 @@ describe('Paste', () => { // Ensure the powerbox is active window.chai.expect(editor.powerbox.isOpen).to.be.true; // Pick the second command (Paste as URL) - triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); - triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); + await triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); }, contentAfter: `ab${url}[]cd
`, }); @@ -2097,8 +2095,8 @@ describe('Paste', () => { // Ensure the powerbox is active window.chai.expect(editor.powerbox.isOpen).to.be.true; // Pick the second command (Paste as URL) - triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); - triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); + await triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); }, contentAfter: `ab${url}[]cd
`, }); @@ -2112,9 +2110,8 @@ describe('Paste', () => { // Ensure the powerbox is active window.chai.expect(editor.powerbox.isOpen).to.be.true; // Pick first command (Embed video) - triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); + await triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); // Undo - await nextTick(); editor.historyUndo(); }, contentAfter: '[abc]
', @@ -2126,10 +2123,9 @@ describe('Paste', () => { // Ensure the powerbox is active window.chai.expect(editor.powerbox.isOpen).to.be.true; // Pick second command (Paste as URL) - triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); - triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowDown' }); + await triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); // Undo - await nextTick(); editor.historyUndo(); }, contentAfter: '[abc]
', diff --git a/addons/web_editor/static/src/js/editor/odoo-editor/test/spec/editor.test.js b/addons/web_editor/static/src/js/editor/odoo-editor/test/spec/editor.test.js index bf2fbf67c5c..5982d011243 100644 --- a/addons/web_editor/static/src/js/editor/odoo-editor/test/spec/editor.test.js +++ b/addons/web_editor/static/src/js/editor/odoo-editor/test/spec/editor.test.js @@ -18,7 +18,6 @@ import { undo, unformat, triggerEvent, - nextTickFrame, nextTick, setTestSelection, } from '../utils.js'; @@ -3340,7 +3339,7 @@ X[] sel.anchorNode.remove(); } }); - triggerEvent(editor.editable, 'keydown', { key: 'Backspace', ctrlKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'Backspace', ctrlKey: true }); }, contentAfter: unformat(`[]
text
@@ -3376,7 +3375,7 @@ X[] [][]
user@domain.com []
', }); @@ -4348,12 +4347,12 @@ X[] const anchorOffset = selection.anchorOffset; const p = editor.editable.querySelector('p'); const textNode = p.childNodes[0]; - triggerEvent(editor.editable, 'keydown', {key: ' ', code: 'Space'}); + await triggerEvent(editor.editable, 'keydown', {key: ' ', code: 'Space'}); textNode.textContent = "a http://test.com b http://test.com \u00a0 c http://test.com d"; selection.extend(textNode, anchorOffset + 1); selection.collapseToEnd(); - triggerEvent(editor.editable, 'input', {data: ' ', inputType: 'insertText' }); - triggerEvent(editor.editable, 'keyup', {key: ' ', code: 'Space'}); + await triggerEvent(editor.editable, 'input', {data: ' ', inputType: 'insertText' }); + await triggerEvent(editor.editable, 'keyup', {key: ' ', code: 'Space'}); }, contentAfter: 'a http://test.com b http://test.com [] c http://test.com d
', }); @@ -6079,8 +6078,7 @@ X[] describe('contenteditable', () => { const tableUiMenuTest = async (editor) => { const column = editor.editable.querySelector('td'); - triggerEvent(column, 'mousemove', {}); - await nextTickFrame(); + await triggerEvent(column, 'mousemove', {}); if (editor._rowUi.style.visibility === 'visible') { const paragraph = editor.editable.querySelector('p'); const text = document.createTextNode('table ui'); @@ -6123,8 +6121,7 @@ X[] }); const resizeTest = async (editor) => { const column = editor.editable.querySelector('td'); - triggerEvent(column, 'mousemove', {}); - await nextTickFrame(); + await triggerEvent(column, 'mousemove', {}); if (['o_row_resize', 'o_col_resize'].filter(resize => editor.editable.classList.contains(resize)).length) { const paragraph = editor.editable.querySelector('p'); const text = document.createTextNode('resizeCursor'); @@ -6180,7 +6177,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab[]\u200Bcd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight'}); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight'}); }, contentAfter: 'ab\u200B[]cd
', // Final state: 'ab\u200Bc[]d
' @@ -6188,7 +6185,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab[]\u200Bcd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight'}); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight'}); }, contentAfter: 'ab\u200B[]cd
', // Final state: 'ab\u200Bc[]d
' @@ -6198,7 +6195,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab[]\u200B
cd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight'}); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight'}); }, contentAfter: 'ab\u200B[]
cd
', // Final state: 'ab\u200B
[]cd
' @@ -6206,7 +6203,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab[]\u200B
cd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight'}); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight'}); }, contentAfter: 'ab\u200B[]
cd
', // Final state: 'ab\u200B
[]cd
' @@ -6216,7 +6213,7 @@ X[] await testEditor(BasicEditor, { contentBefore: '[ab]\u200Bcd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); }, contentAfter: '[ab\u200B]cd
', // Final state: '[ab\u200Bc]d
' @@ -6224,7 +6221,7 @@ X[] await testEditor(BasicEditor, { contentBefore: '[ab]\u200Bcd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); }, contentAfter: '[ab\u200B]cd
', // Final state: '[ab\u200Bc]d
' @@ -6234,7 +6231,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'a[b]\u200Bcd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); }, contentAfter: 'a[b\u200B]cd
', // Final state: 'a[b\u200Bc]d
' @@ -6242,7 +6239,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'a[b]\u200Bcd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); }, contentAfter: 'a[b\u200B]cd
', // Final state: 'a[b\u200Bc]d
' @@ -6252,7 +6249,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab[]\u200Bcd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); }, contentAfter: 'ab[\u200B]cd
', // Final state: 'ab[\u200Bc]d
' @@ -6260,7 +6257,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab[]\u200Bcd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); }, contentAfter: 'ab[\u200B]cd
', // Final state: 'ab[\u200Bc]d
' @@ -6270,7 +6267,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab]\u200B[cd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); }, contentAfter: 'ab\u200B[]cd
', // Final state: 'ab\u200B[c]d
' @@ -6278,7 +6275,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab]\u200B[cd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); }, contentAfter: 'ab\u200B[]cd
', // Final state: 'ab\u200B[c]d
' @@ -6286,7 +6283,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab]\u200B[cd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); }, contentAfter: 'ab\u200B[]cd
', // Final state: 'ab\u200B[c]d
' @@ -6294,7 +6291,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab]\u200B[cd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); }, contentAfter: 'ab\u200B[]cd
', // Final state: 'ab\u200B[c]d
' @@ -6304,7 +6301,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab]\u200Bc[d
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); }, contentAfter: 'ab\u200B]c[d
', // Final state: 'ab\u200Bc[]d
' @@ -6312,7 +6309,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab]\u200Bc[d
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowRight', shiftKey: true }); }, contentAfter: 'ab\u200B]c[d
', // Final state: 'ab\u200Bc[]d
' @@ -6390,14 +6387,14 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab\u200B[]cd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft'}); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft'}); }, contentAfter: 'ab[]\u200Bcd
', }); await testEditor(BasicEditor, { contentBefore: 'ab\u200B[]cd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft'}); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft'}); }, contentAfter: 'ab[]\u200Bcd
', }); @@ -6406,7 +6403,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab\u200B[]cd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); }, contentAfter: 'ab]\u200B[cd
', // Final state: 'a]b\u200B[cd
' @@ -6414,7 +6411,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab\u200B[]cd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); }, contentAfter: 'ab]\u200B[cd
', // Final state: 'a]b\u200B[cd
' @@ -6424,7 +6421,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab\u200B]cd[
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); }, contentAfter: 'ab]\u200Bcd[
', // Final state: 'a]b\u200Bcd[
' @@ -6432,7 +6429,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab\u200B]cd[
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); }, contentAfter: 'ab]\u200Bcd[
', // Final state: 'a]b\u200Bcd[
' @@ -6442,7 +6439,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab\u200B]c[d
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); }, contentAfter: 'ab]\u200Bc[d
', // Final state: 'a]b\u200Bc[d
' @@ -6450,7 +6447,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab\u200B]c[d
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); }, contentAfter: 'ab]\u200Bc[d
', // Final state: 'a]b\u200Bc[d
' @@ -6460,7 +6457,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab[\u200B]cd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); }, contentAfter: 'ab[]\u200Bcd
', // Final state: 'a]b[\u200Bcd
' @@ -6468,7 +6465,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab[\u200B]cd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); }, contentAfter: 'ab[]\u200Bcd
', // Final state: 'a]b[\u200Bcd
' @@ -6476,7 +6473,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab[\u200B]cd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); }, contentAfter: 'ab[]\u200Bcd
', // Final state: 'a]b[\u200Bcd
' @@ -6484,7 +6481,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'ab[\u200B]cd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); }, contentAfter: 'ab[]\u200Bcd
', // Final state: 'a]b[\u200Bcd
' @@ -6494,7 +6491,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'a[b\u200B]cd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); }, contentAfter: 'a[b]\u200Bcd
', // Final state: 'a[]b\u200Bcd
' @@ -6502,7 +6499,7 @@ X[] await testEditor(BasicEditor, { contentBefore: 'a[b\u200B]cd
', stepFunction: async editor => { - triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); + await triggerEvent(editor.editable, 'keydown', { key: 'ArrowLeft', shiftKey: true }); }, contentAfter: 'a[b]\u200Bcd
', // Final state: 'a[]b\u200Bcd
' @@ -7037,14 +7034,12 @@ X[] } const index = after ? childNodeIndex(editableChild) + 1 : childNodeIndex(editableChild); const pos = [editor.editable, index]; - triggerEvent(editor.editable, 'mousedown'); + await triggerEvent(editor.editable, 'mousedown'); const selection = editor.document.getSelection(); selection.setBaseAndExtent(...pos, ...pos); await nextTick(); - triggerEvent(editor.editable, 'mouseup'); - await nextTick(); + await triggerEvent(editor.editable, 'mouseup'); triggerEvent(editor.editable, 'click'); - await nextTick(); }; it('should insert a paragraph at end of editable and place cursor in it', async () => { diff --git a/addons/web_editor/static/src/js/editor/odoo-editor/test/spec/powerbox.test.js b/addons/web_editor/static/src/js/editor/odoo-editor/test/spec/powerbox.test.js index 7c1748763cf..feb1ebf4e24 100644 --- a/addons/web_editor/static/src/js/editor/odoo-editor/test/spec/powerbox.test.js +++ b/addons/web_editor/static/src/js/editor/odoo-editor/test/spec/powerbox.test.js @@ -28,7 +28,7 @@ describe('Powerbox', () => { stepFunction: async editor => { await insertText(editor, '/'); await insertText(editor, 'head'); - triggerEvent(editor.editable, 'keyup'); + await triggerEvent(editor.editable, 'keyup'); window.chai.expect(getCurrentCommandNames(editor.powerbox)).to.eql(['Heading 1', 'Heading 2', 'Heading 3']); }, }); @@ -40,8 +40,8 @@ describe('Powerbox', () => { editor.powerbox.el.classList.add('yo'); await insertText(editor, '/'); await insertText(editor, 'head'); - triggerEvent(editor.editable, 'keyup'); - triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); + await triggerEvent(editor.editable, 'keyup'); + await triggerEvent(editor.editable, 'keydown', { key: 'Enter' }); }, contentAfter: '| [] | ||