diff --git a/packages/slate/src/models/range.js b/packages/slate/src/models/range.js index 7d983b9cf..68fce7bd2 100644 --- a/packages/slate/src/models/range.js +++ b/packages/slate/src/models/range.js @@ -657,7 +657,8 @@ class Range extends Record(DEFAULTS) { */ moveToRangeOf(start, end = start) { - return this + const range = this.isBackward ? this.flip() : this + return range .moveAnchorToStartOf(start) .moveFocusToEndOf(end) } diff --git a/packages/slate/test/changes/at-current-range/unwrap-block/middle-child-blocks-with-backward-selection.js b/packages/slate/test/changes/at-current-range/unwrap-block/middle-child-blocks-with-backward-selection.js new file mode 100644 index 000000000..100944c83 --- /dev/null +++ b/packages/slate/test/changes/at-current-range/unwrap-block/middle-child-blocks-with-backward-selection.js @@ -0,0 +1,64 @@ +/** @jsx h */ + +import h from '../../../helpers/h' + +export default function (change) { + change.unwrapBlock('quote') +} + +export const input = ( + + + + + one + + + two + + + three + + + four + + + five + + + six + + + + +) + +export const output = ( + + + + + one + + + two + + + + three + + + four + + + + five + + + six + + + + +) +