From 99e9a776390fc1dbb64577d0ff99c3d1e7fd424a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samy=20Pess=C3=A9?= Date: Wed, 26 Oct 2016 14:07:26 +0200 Subject: [PATCH] Be inclusive for selection in insertText --- src/transforms/apply-operation.js | 4 ++-- .../fixtures/by-key/insert-text-by-key/selection-end/index.js | 4 +++- .../by-key/insert-text-by-key/selection-start/index.js | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/transforms/apply-operation.js b/src/transforms/apply-operation.js index 6ebe9aed8..6d99f6e0c 100644 --- a/src/transforms/apply-operation.js +++ b/src/transforms/apply-operation.js @@ -115,10 +115,10 @@ function insertText(state, operation) { document = document.updateDescendant(node) // Update the selection - if (startKey == node.key && startOffset > offset) { + if (startKey == node.key && startOffset >= offset) { selection = selection.moveStartOffset(text.length) } - if (endKey == node.key && endOffset > offset) { + if (endKey == node.key && endOffset >= offset) { selection = selection.moveEndOffset(text.length) } diff --git a/test/transforms/fixtures/by-key/insert-text-by-key/selection-end/index.js b/test/transforms/fixtures/by-key/insert-text-by-key/selection-end/index.js index 8e4310bc4..18dd57cc2 100644 --- a/test/transforms/fixtures/by-key/insert-text-by-key/selection-end/index.js +++ b/test/transforms/fixtures/by-key/insert-text-by-key/selection-end/index.js @@ -21,7 +21,9 @@ export default function (state) { assert.deepEqual( next.selection.toJS(), - nextSelection.toJS() + nextSelection.merge({ + focusOffset: 6 + }).toJS() ) return next diff --git a/test/transforms/fixtures/by-key/insert-text-by-key/selection-start/index.js b/test/transforms/fixtures/by-key/insert-text-by-key/selection-start/index.js index 7faa90b8e..8391fa7c6 100644 --- a/test/transforms/fixtures/by-key/insert-text-by-key/selection-start/index.js +++ b/test/transforms/fixtures/by-key/insert-text-by-key/selection-start/index.js @@ -22,6 +22,7 @@ export default function (state) { assert.deepEqual( next.selection.toJS(), nextSelection.merge({ + anchorOffset: 4, focusOffset: 6 }).toJS() )