diff --git a/test/transforms/fixtures/by-key/join-node-by-key/block/index.js b/test/transforms/fixtures/by-key/join-node-by-key/block/index.js new file mode 100644 index 000000000..f991fd9c7 --- /dev/null +++ b/test/transforms/fixtures/by-key/join-node-by-key/block/index.js @@ -0,0 +1,29 @@ + +import assert from 'assert' + +export default function (state) { + const { selection } = state + + const range = selection.merge({ + anchorKey: 'anchor', + anchorOffset: 1, + focusKey: 'focus', + focusOffset: 2 + }) + + const next = state + .transform() + .moveTo(range) + .joinNodeByKey('key2', 'key1') + .apply() + + assert.deepEqual( + next.selection.toJS(), + range.merge({ + focusKey: 'anchor', + focusOffset: 5 + }).toJS() + ) + + return next +} diff --git a/test/transforms/fixtures/by-key/join-node-by-key/block/input.yaml b/test/transforms/fixtures/by-key/join-node-by-key/block/input.yaml new file mode 100644 index 000000000..66df88e7a --- /dev/null +++ b/test/transforms/fixtures/by-key/join-node-by-key/block/input.yaml @@ -0,0 +1,16 @@ + +nodes: + - kind: block + key: 'key1' + type: paragraph + nodes: + - kind: text + key: 'anchor' + text: The + - kind: block + key: 'key2' + type: paragraph + nodes: + - kind: text + key: 'focus' + text: text diff --git a/test/transforms/fixtures/by-key/join-node-by-key/block/output.yaml b/test/transforms/fixtures/by-key/join-node-by-key/block/output.yaml new file mode 100644 index 000000000..f965e4ab2 --- /dev/null +++ b/test/transforms/fixtures/by-key/join-node-by-key/block/output.yaml @@ -0,0 +1,8 @@ + +nodes: + - kind: block + key: key1 + type: paragraph + nodes: + - kind: text + text: Thetext diff --git a/test/transforms/fixtures/by-key/join-node-by-key/text/index.js b/test/transforms/fixtures/by-key/join-node-by-key/text/index.js new file mode 100644 index 000000000..797f72907 --- /dev/null +++ b/test/transforms/fixtures/by-key/join-node-by-key/text/index.js @@ -0,0 +1,29 @@ + +import assert from 'assert' + +export default function (state) { + const { selection } = state + + const range = selection.merge({ + anchorKey: 'anchor', + anchorOffset: 1, + focusKey: 'focus', + focusOffset: 2 + }) + + const next = state + .transform() + .moveTo(range) + .joinNodeByKey('focus', 'anchor') + .apply() + + assert.deepEqual( + next.selection.toJS(), + range.merge({ + focusKey: 'anchor', + focusOffset: 5 + }).toJS() + ) + + return next +} diff --git a/test/transforms/fixtures/by-key/join-node-by-key/text/input.yaml b/test/transforms/fixtures/by-key/join-node-by-key/text/input.yaml new file mode 100644 index 000000000..1d54b7ee6 --- /dev/null +++ b/test/transforms/fixtures/by-key/join-node-by-key/text/input.yaml @@ -0,0 +1,16 @@ + +nodes: + - kind: block + type: paragraph + nodes: + - kind: text + key: 'anchor' + text: one + - kind: inline + type: link + nodes: + - kind: text + text: two + - kind: text + key: 'focus' + text: three diff --git a/test/transforms/fixtures/by-key/join-node-by-key/text/output.yaml b/test/transforms/fixtures/by-key/join-node-by-key/text/output.yaml new file mode 100644 index 000000000..434082dfa --- /dev/null +++ b/test/transforms/fixtures/by-key/join-node-by-key/text/output.yaml @@ -0,0 +1,13 @@ + +nodes: + - kind: block + type: paragraph + nodes: + - kind: text + key: 'anchor' + text: onethree + - kind: inline + type: link + nodes: + - kind: text + text: two