From 9ae17d2091bb71e4e0b6cd1237f015b9c9aa4421 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samy=20Pess=C3=A9?= Date: Wed, 26 Oct 2016 12:56:08 +0200 Subject: [PATCH] Add unit test for testing insertTextByKey with marks --- .../middle-text-with-marks/index.js | 29 +++++++++++++++++++ .../middle-text-with-marks/input.yaml | 12 ++++++++ .../middle-text-with-marks/output.yaml | 17 +++++++++++ 3 files changed, 58 insertions(+) create mode 100644 test/transforms/fixtures/by-key/insert-text-by-key/middle-text-with-marks/index.js create mode 100644 test/transforms/fixtures/by-key/insert-text-by-key/middle-text-with-marks/input.yaml create mode 100644 test/transforms/fixtures/by-key/insert-text-by-key/middle-text-with-marks/output.yaml 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 new file mode 100644 index 000000000..3503ed09e --- /dev/null +++ b/test/transforms/fixtures/by-key/insert-text-by-key/middle-text-with-marks/index.js @@ -0,0 +1,29 @@ + +import assert from 'assert' + +export default function (state) { + const { document, selection } = state + const texts = document.getTexts() + const firstText = texts.first() + const secondText = texts.get(1) + + const nextSelection = selection.merge({ + anchorKey: firstText.key, + focusKey: firstText.key, + anchorOffset: 2, + focusOffset: 2 + }) + + const next = state + .transform() + .moveTo(nextSelection) + .insertTextByKey(secondText.key, 2, 'XX', [ { type: 'bold' } ]) + .apply() + + 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/input.yaml b/test/transforms/fixtures/by-key/insert-text-by-key/middle-text-with-marks/input.yaml new file mode 100644 index 000000000..dfc5d6974 --- /dev/null +++ b/test/transforms/fixtures/by-key/insert-text-by-key/middle-text-with-marks/input.yaml @@ -0,0 +1,12 @@ + +nodes: + - kind: block + type: paragraph + nodes: + - kind: text + text: outside + - kind: block + type: paragraph + nodes: + - kind: text + text: hello diff --git a/test/transforms/fixtures/by-key/insert-text-by-key/middle-text-with-marks/output.yaml b/test/transforms/fixtures/by-key/insert-text-by-key/middle-text-with-marks/output.yaml new file mode 100644 index 000000000..0a9a59915 --- /dev/null +++ b/test/transforms/fixtures/by-key/insert-text-by-key/middle-text-with-marks/output.yaml @@ -0,0 +1,17 @@ + +nodes: + - kind: block + type: paragraph + nodes: + - kind: text + text: outside + - kind: block + type: paragraph + nodes: + - kind: text + ranges: + - text: he + - text: XX + marks: + - type: bold + - text: llo