From cab3f71e7a162f603d6330f30c14a2218643fd32 Mon Sep 17 00:00:00 2001 From: Irwan Fario Subastian Date: Wed, 20 Jun 2018 12:29:19 +1000 Subject: [PATCH] fix removeText with Mark of length 1 (#1917) --- packages/slate/src/models/text.js | 2 +- .../inside-a-leaf/delete-a-char-with-mark.js | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 packages/slate/test/models/text/delete/inside-a-leaf/delete-a-char-with-mark.js diff --git a/packages/slate/src/models/text.js b/packages/slate/src/models/text.js index 6234afd56..4a9c077a2 100644 --- a/packages/slate/src/models/text.js +++ b/packages/slate/src/models/text.js @@ -589,7 +589,7 @@ class Text extends Record(DEFAULTS) { // PERF: For simple backspace, we can operate directly on the leaf if (length === 1) { - const { leaf, index, startOffset } = this.searchLeafAtOffset(start) + const { leaf, index, startOffset } = this.searchLeafAtOffset(start + 1) const offset = start - startOffset if (leaf) { diff --git a/packages/slate/test/models/text/delete/inside-a-leaf/delete-a-char-with-mark.js b/packages/slate/test/models/text/delete/inside-a-leaf/delete-a-char-with-mark.js new file mode 100644 index 000000000..9b820f6a9 --- /dev/null +++ b/packages/slate/test/models/text/delete/inside-a-leaf/delete-a-char-with-mark.js @@ -0,0 +1,19 @@ +/** @jsx h */ + +import h from '../../../../helpers/h' + +export const input = ( + + Cat is Cute + +)[0] + +export default function(t) { + return t.removeText(4, 1) +} + +export const output = ( + + Cat s Cute + +)[0]