diff --git a/src/transforms/at-range.js b/src/transforms/at-range.js index c04ac855e..2d9e48268 100644 --- a/src/transforms/at-range.js +++ b/src/transforms/at-range.js @@ -1032,7 +1032,7 @@ Transforms.unwrapInlineAtRange = (transform, range, properties, options = {}) => .toList() inlines.forEach((inline) => { - const parent = document.getParent(inline.key) + const parent = transform.state.document.getParent(inline.key) const index = parent.nodes.indexOf(inline) inline.nodes.forEach((child, i) => { diff --git a/test/transforms/fixtures/at-range/unwrap-inline-at-range/with-text-between/index.js b/test/transforms/fixtures/at-range/unwrap-inline-at-range/with-text-between/index.js new file mode 100644 index 000000000..ae0bd11a3 --- /dev/null +++ b/test/transforms/fixtures/at-range/unwrap-inline-at-range/with-text-between/index.js @@ -0,0 +1,18 @@ + +export default function (state) { + const { document, selection } = state; + const texts = document.getTexts(); + const first = texts.first(); + const second = texts.last(); + const range = selection.merge({ + anchorKey: first.key, + anchorOffset: 0, + focusKey: second.key, + focusOffset: 0 + }); + + return state + .transform() + .unwrapInlineAtRange(range, 'link') + .apply() +} diff --git a/test/transforms/fixtures/at-range/unwrap-inline-at-range/with-text-between/input.yaml b/test/transforms/fixtures/at-range/unwrap-inline-at-range/with-text-between/input.yaml new file mode 100644 index 000000000..b845fd763 --- /dev/null +++ b/test/transforms/fixtures/at-range/unwrap-inline-at-range/with-text-between/input.yaml @@ -0,0 +1,21 @@ + +nodes: + - kind: block + type: paragraph + nodes: + - kind: text + text: "" + - kind: inline + type: link + nodes: + - kind: text + text: Hello + - kind: text + text: " " + - kind: inline + type: link + nodes: + - kind: text + text: world! + - kind: text + text: "" diff --git a/test/transforms/fixtures/at-range/unwrap-inline-at-range/with-text-between/output.yaml b/test/transforms/fixtures/at-range/unwrap-inline-at-range/with-text-between/output.yaml new file mode 100644 index 000000000..9703ab1a7 --- /dev/null +++ b/test/transforms/fixtures/at-range/unwrap-inline-at-range/with-text-between/output.yaml @@ -0,0 +1,7 @@ + +nodes: + - kind: block + type: paragraph + nodes: + - kind: text + text: "Hello world!"