Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/content_editor/extensions/word_break_spec.js')
-rw-r--r--spec/frontend/content_editor/extensions/word_break_spec.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/spec/frontend/content_editor/extensions/word_break_spec.js b/spec/frontend/content_editor/extensions/word_break_spec.js
new file mode 100644
index 00000000000..23167269d7d
--- /dev/null
+++ b/spec/frontend/content_editor/extensions/word_break_spec.js
@@ -0,0 +1,35 @@
+import WordBreak from '~/content_editor/extensions/word_break';
+import { createTestEditor, createDocBuilder, triggerNodeInputRule } from '../test_utils';
+
+describe('content_editor/extensions/word_break', () => {
+ let tiptapEditor;
+ let doc;
+ let p;
+ let wordBreak;
+
+ beforeEach(() => {
+ tiptapEditor = createTestEditor({ extensions: [WordBreak] });
+
+ ({
+ builders: { doc, p, wordBreak },
+ } = createDocBuilder({
+ tiptapEditor,
+ names: {
+ wordBreak: { nodeType: WordBreak.name },
+ },
+ }));
+ });
+
+ it.each`
+ input | insertedNode
+ ${'<wbr>'} | ${() => p(wordBreak())}
+ ${'<wbr'} | ${() => p()}
+ ${'wbr>'} | ${() => p()}
+ `('with input=$input, then should insert a $insertedNode', ({ input, insertedNode }) => {
+ const expectedDoc = doc(insertedNode());
+
+ triggerNodeInputRule({ tiptapEditor, inputRuleText: input });
+
+ expect(tiptapEditor.getJSON()).toEqual(expectedDoc.toJSON());
+ });
+});