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() )