From 20fc819c8ca6210b18f6208594b5bf41927cae48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samy=20Pess=C3=A9?= Date: Wed, 26 Oct 2016 13:11:32 +0200 Subject: [PATCH] Add test for inserting text before selection --- .../before-selection/index.js | 31 +++++++++++++++++++ .../before-selection/input.yaml | 7 +++++ .../before-selection/output.yaml | 7 +++++ .../insert-text-by-key/end-text/index.js | 8 ++--- .../middle-text-with-marks/index.js | 8 ++--- .../insert-text-by-key/middle-text/index.js | 8 ++--- .../insert-text-by-key/start-text/index.js | 8 ++--- 7 files changed, 61 insertions(+), 16 deletions(-) create mode 100644 test/transforms/fixtures/by-key/insert-text-by-key/before-selection/index.js create mode 100644 test/transforms/fixtures/by-key/insert-text-by-key/before-selection/input.yaml create mode 100644 test/transforms/fixtures/by-key/insert-text-by-key/before-selection/output.yaml diff --git a/test/transforms/fixtures/by-key/insert-text-by-key/before-selection/index.js b/test/transforms/fixtures/by-key/insert-text-by-key/before-selection/index.js new file mode 100644 index 000000000..dfb45523e --- /dev/null +++ b/test/transforms/fixtures/by-key/insert-text-by-key/before-selection/index.js @@ -0,0 +1,31 @@ + +import assert from 'assert' + +export default function (state) { + const { document, selection } = state + const texts = document.getTexts() + const firstText = texts.first() + + const nextSelection = selection.merge({ + anchorKey: firstText.key, + focusKey: firstText.key, + anchorOffset: 2, + focusOffset: 2 + }) + + const next = state + .transform() + .moveTo(nextSelection) + .insertTextByKey(firstText.key, 0, 'XX') + .apply() + + assert.deepEqual( + next.selection.toJS(), + nextSelection.merge({ + anchorOffset: 4, + focusOffset: 4 + }).toJS() + ) + + return next +} diff --git a/test/transforms/fixtures/by-key/insert-text-by-key/before-selection/input.yaml b/test/transforms/fixtures/by-key/insert-text-by-key/before-selection/input.yaml new file mode 100644 index 000000000..98adb1781 --- /dev/null +++ b/test/transforms/fixtures/by-key/insert-text-by-key/before-selection/input.yaml @@ -0,0 +1,7 @@ + +nodes: + - kind: block + type: paragraph + nodes: + - kind: text + text: hello diff --git a/test/transforms/fixtures/by-key/insert-text-by-key/before-selection/output.yaml b/test/transforms/fixtures/by-key/insert-text-by-key/before-selection/output.yaml new file mode 100644 index 000000000..02b635283 --- /dev/null +++ b/test/transforms/fixtures/by-key/insert-text-by-key/before-selection/output.yaml @@ -0,0 +1,7 @@ + +nodes: + - kind: block + type: paragraph + nodes: + - kind: text + text: XXhello diff --git a/test/transforms/fixtures/by-key/insert-text-by-key/end-text/index.js b/test/transforms/fixtures/by-key/insert-text-by-key/end-text/index.js index f5bc26c7b..5bd415c88 100644 --- a/test/transforms/fixtures/by-key/insert-text-by-key/end-text/index.js +++ b/test/transforms/fixtures/by-key/insert-text-by-key/end-text/index.js @@ -20,10 +20,10 @@ export default function (state) { .insertTextByKey(secondText.key, 5, 'X') .apply() - assert.deepEqual( - next.selection.toJS(), - nextSelection.toJS() - ) + assert.deepEqual( + next.selection.toJS(), + nextSelection.toJS() + ) return next } diff --git a/test/transforms/fixtures/by-key/insert-text-by-key/middle-text-with-marks/index.js b/test/transforms/fixtures/by-key/insert-text-by-key/middle-text-with-marks/index.js index 3503ed09e..0eefd66c2 100644 --- a/test/transforms/fixtures/by-key/insert-text-by-key/middle-text-with-marks/index.js +++ b/test/transforms/fixtures/by-key/insert-text-by-key/middle-text-with-marks/index.js @@ -20,10 +20,10 @@ export default function (state) { .insertTextByKey(secondText.key, 2, 'XX', [ { type: 'bold' } ]) .apply() - assert.deepEqual( - next.selection.toJS(), - nextSelection.toJS() - ) + assert.deepEqual( + next.selection.toJS(), + nextSelection.toJS() + ) return next } diff --git a/test/transforms/fixtures/by-key/insert-text-by-key/middle-text/index.js b/test/transforms/fixtures/by-key/insert-text-by-key/middle-text/index.js index 141851468..88f1d66c4 100644 --- a/test/transforms/fixtures/by-key/insert-text-by-key/middle-text/index.js +++ b/test/transforms/fixtures/by-key/insert-text-by-key/middle-text/index.js @@ -20,10 +20,10 @@ export default function (state) { .insertTextByKey(secondText.key, 2, 'X') .apply() - assert.deepEqual( - next.selection.toJS(), - nextSelection.toJS() - ) + assert.deepEqual( + next.selection.toJS(), + nextSelection.toJS() + ) return next } diff --git a/test/transforms/fixtures/by-key/insert-text-by-key/start-text/index.js b/test/transforms/fixtures/by-key/insert-text-by-key/start-text/index.js index e6a4a3bee..45d3071f8 100644 --- a/test/transforms/fixtures/by-key/insert-text-by-key/start-text/index.js +++ b/test/transforms/fixtures/by-key/insert-text-by-key/start-text/index.js @@ -20,10 +20,10 @@ export default function (state) { .insertTextByKey(secondText.key, 0, 'X') .apply() - assert.deepEqual( - next.selection.toJS(), - nextSelection.toJS() - ) + assert.deepEqual( + next.selection.toJS(), + nextSelection.toJS() + ) return next }