From e73fa8f671f222e96f02f8b3f32b6288b7cee26d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=20De=20Caluw=C3=A9?= Date: Wed, 30 Mar 2022 13:23:04 +0000 Subject: [PATCH] [IMP] web_editor: test adding nested editables Commit e834173314f00e36cb3a1f99690d9f220584682c fixed an issue where editable elements could not be removed if they were nested in a non-editable element, because the editor considered them to be an editable root. However, the same logic also applied when doing a history step after adding such an element. Adding a nested editable element would make the history step invalid and result in a rollback. Such a situation can be encountered when adding a recaptcha legal notice to a website form. The footer of the form is a non-editable paet of the document, however the legal notice can still be updated by the user. This commit adds a separate test for the addition of such editable elements that were previously considered unremovable. opw-2723017 closes odoo/odoo#88733 X-original-commit: f693e8ed27f753a728d903dfe4d7d10ae1334526 Signed-off-by: David Monjoie (dmo) --- .../static/lib/odoo-editor/test/spec/editor.test.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/addons/web_editor/static/lib/odoo-editor/test/spec/editor.test.js b/addons/web_editor/static/lib/odoo-editor/test/spec/editor.test.js index bc314d21d91..c78a120e61c 100644 --- a/addons/web_editor/static/lib/odoo-editor/test/spec/editor.test.js +++ b/addons/web_editor/static/lib/odoo-editor/test/spec/editor.test.js @@ -3228,6 +3228,19 @@ X[] }); }); }); + describe('step', () => { + it('should allow insertion of nested contenteditable="true"', async () => { + await testEditor(BasicEditor, { + contentBefore: `
`, + stepFunction: async editor => { + const editable = '
abc
'; + editor.editable.querySelector('div').innerHTML = editable; + editor.historyStep(); + }, + contentAfter: `
abc
`, + }); + }); + }); }); // Note that arrow keys test have a contentAfter that is not reflective of