diff --git a/addons/web_editor/static/src/js/editor/odoo-editor/src/OdooEditor.js b/addons/web_editor/static/src/js/editor/odoo-editor/src/OdooEditor.js index 43628662ff5..6d72bc3c92d 100644 --- a/addons/web_editor/static/src/js/editor/odoo-editor/src/OdooEditor.js +++ b/addons/web_editor/static/src/js/editor/odoo-editor/src/OdooEditor.js @@ -2066,7 +2066,7 @@ export class OdooEditor extends EventTarget { doJoin && next && !(next.previousSibling && next.previousSibling === joinWith) && - this.editable.contains(next) + this.editable.contains(next) && (closestElement(joinWith,'TD') === closestElement(next, 'TD')) ) { const restore = preserveCursor(this.document); this.observerFlush(); 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 c93a7f1f15a..33923d69590 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 @@ -1039,6 +1039,27 @@ X[] ), }); }); + it('should delete the list item', async () => { + await testEditor(BasicEditor, { + contentBefore: unformat( + ` + + + + +
  • [a
  • b
  • c]
  • A
  • B
  • C
`, + ), + stepFunction: deleteForward, + contentAfter: unformat( + ` + + + + +
  • []
  • A
  • B
  • C
`, + ), + }); + }); it('should delete an image that is displayed as a block', async () => { await testEditor(BasicEditor, { contentBefore: unformat(`
a[bc]d
`),