diff options
Diffstat (limited to 'spec/frontend/editor/editor_markdown_ext_spec.js')
-rw-r--r-- | spec/frontend/editor/editor_markdown_ext_spec.js | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/spec/frontend/editor/editor_markdown_ext_spec.js b/spec/frontend/editor/editor_markdown_ext_spec.js index b0fabad8542..a049e075dc0 100644 --- a/spec/frontend/editor/editor_markdown_ext_spec.js +++ b/spec/frontend/editor/editor_markdown_ext_spec.js @@ -4,6 +4,7 @@ import EditorMarkdownExtension from '~/editor/editor_markdown_ext'; describe('Markdown Extension for Editor Lite', () => { let editor; + let instance; let editorEl; const firstLine = 'This is a'; const secondLine = 'multiline'; @@ -13,19 +14,19 @@ describe('Markdown Extension for Editor Lite', () => { const setSelection = (startLineNumber = 1, startColumn = 1, endLineNumber = 1, endColumn = 1) => { const selection = new Range(startLineNumber, startColumn, endLineNumber, endColumn); - editor.instance.setSelection(selection); + instance.setSelection(selection); }; const selectSecondString = () => setSelection(2, 1, 2, secondLine.length + 1); // select the whole second line const selectSecondAndThirdLines = () => setSelection(2, 1, 3, thirdLine.length + 1); // select second and third lines - const selectionToString = () => editor.instance.getSelection().toString(); - const positionToString = () => editor.instance.getPosition().toString(); + const selectionToString = () => instance.getSelection().toString(); + const positionToString = () => instance.getPosition().toString(); beforeEach(() => { setFixtures('<div id="editor" data-editor-loading></div>'); editorEl = document.getElementById('editor'); editor = new EditorLite(); - editor.createInstance({ + instance = editor.createInstance({ el: editorEl, blobPath: filePath, blobContent: text, @@ -34,17 +35,16 @@ describe('Markdown Extension for Editor Lite', () => { }); afterEach(() => { - editor.instance.dispose(); editor.model.dispose(); editorEl.remove(); }); describe('getSelectedText', () => { it('does not fail if there is no selection and returns the empty string', () => { - jest.spyOn(editor.instance, 'getSelection'); - const resText = editor.getSelectedText(); + jest.spyOn(instance, 'getSelection'); + const resText = instance.getSelectedText(); - expect(editor.instance.getSelection).toHaveBeenCalled(); + expect(instance.getSelection).toHaveBeenCalled(); expect(resText).toBe(''); }); @@ -56,7 +56,7 @@ describe('Markdown Extension for Editor Lite', () => { `('correctly returns selected text for $description', ({ selection, expectedString }) => { setSelection(...selection); - const resText = editor.getSelectedText(); + const resText = instance.getSelectedText(); expect(resText).toBe(expectedString); }); @@ -65,7 +65,7 @@ describe('Markdown Extension for Editor Lite', () => { selectSecondString(); const firstLineSelection = new Range(1, 1, 1, firstLine.length + 1); - const resText = editor.getSelectedText(firstLineSelection); + const resText = instance.getSelectedText(firstLineSelection); expect(resText).toBe(firstLine); }); @@ -76,25 +76,25 @@ describe('Markdown Extension for Editor Lite', () => { it('replaces selected text with the supplied one', () => { selectSecondString(); - editor.replaceSelectedText(expectedStr); + instance.replaceSelectedText(expectedStr); expect(editor.getValue()).toBe(`${firstLine}\n${expectedStr}\n${thirdLine}`); }); it('prepends the supplied text if no text is selected', () => { - editor.replaceSelectedText(expectedStr); + instance.replaceSelectedText(expectedStr); expect(editor.getValue()).toBe(`${expectedStr}${firstLine}\n${secondLine}\n${thirdLine}`); }); it('replaces selection with empty string if no text is supplied', () => { selectSecondString(); - editor.replaceSelectedText(); + instance.replaceSelectedText(); expect(editor.getValue()).toBe(`${firstLine}\n\n${thirdLine}`); }); it('puts cursor at the end of the new string and collapses selection by default', () => { selectSecondString(); - editor.replaceSelectedText(expectedStr); + instance.replaceSelectedText(expectedStr); expect(positionToString()).toBe(`(2,${expectedStr.length + 1})`); expect(selectionToString()).toBe( @@ -106,7 +106,7 @@ describe('Markdown Extension for Editor Lite', () => { const select = 'url'; const complexReplacementString = `[${secondLine}](${select})`; selectSecondString(); - editor.replaceSelectedText(complexReplacementString, select); + instance.replaceSelectedText(complexReplacementString, select); expect(positionToString()).toBe(`(2,${complexReplacementString.length + 1})`); expect(selectionToString()).toBe(`[2,1 -> 2,${complexReplacementString.length + 1}]`); @@ -116,7 +116,7 @@ describe('Markdown Extension for Editor Lite', () => { describe('moveCursor', () => { const setPosition = endCol => { const currentPos = new Position(2, endCol); - editor.instance.setPosition(currentPos); + instance.setPosition(currentPos); }; it.each` @@ -136,9 +136,9 @@ describe('Markdown Extension for Editor Lite', () => { ({ startColumn, shift, endPosition }) => { setPosition(startColumn); if (Array.isArray(shift)) { - editor.moveCursor(...shift); + instance.moveCursor(...shift); } else { - editor.moveCursor(shift); + instance.moveCursor(shift); } expect(positionToString()).toBe(endPosition); }, @@ -153,18 +153,18 @@ describe('Markdown Extension for Editor Lite', () => { expect(selectionToString()).toBe(`[2,1 -> 3,${thirdLine.length + 1}]`); - editor.selectWithinSelection(toSelect, selectedText); + instance.selectWithinSelection(toSelect, selectedText); expect(selectionToString()).toBe(`[3,1 -> 3,${toSelect.length + 1}]`); }); it('does not fail when only `toSelect` is supplied and fetches the text from selection', () => { - jest.spyOn(editor, 'getSelectedText'); + jest.spyOn(instance, 'getSelectedText'); const toSelect = 'string'; selectSecondAndThirdLines(); - editor.selectWithinSelection(toSelect); + instance.selectWithinSelection(toSelect); - expect(editor.getSelectedText).toHaveBeenCalled(); + expect(instance.getSelectedText).toHaveBeenCalled(); expect(selectionToString()).toBe(`[3,1 -> 3,${toSelect.length + 1}]`); }); @@ -176,7 +176,7 @@ describe('Markdown Extension for Editor Lite', () => { expect(positionToString()).toBe(expectedPos); expect(selectionToString()).toBe(expectedSelection); - editor.selectWithinSelection(); + instance.selectWithinSelection(); expect(positionToString()).toBe(expectedPos); expect(selectionToString()).toBe(expectedSelection); @@ -190,12 +190,12 @@ describe('Markdown Extension for Editor Lite', () => { expect(positionToString()).toBe(expectedPos); expect(selectionToString()).toBe(expectedSelection); - editor.selectWithinSelection(toSelect); + instance.selectWithinSelection(toSelect); expect(positionToString()).toBe(expectedPos); expect(selectionToString()).toBe(expectedSelection); - editor.selectWithinSelection(); + instance.selectWithinSelection(); expect(positionToString()).toBe(expectedPos); expect(selectionToString()).toBe(expectedSelection); |