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:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-09-04 09:09:04 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-09-04 09:09:04 +0300
commita01d39d8ded394155227dad65408761021bf1092 (patch)
treee6b98cb4e552b846b289f96c061104be28b511f7 /spec/frontend/editor
parent583bde3f83951fa4c294804edc2e9c57fb293733 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/editor')
-rw-r--r--spec/frontend/editor/editor_lite_spec.js43
-rw-r--r--spec/frontend/editor/editor_markdown_ext_spec.js2
2 files changed, 24 insertions, 21 deletions
diff --git a/spec/frontend/editor/editor_lite_spec.js b/spec/frontend/editor/editor_lite_spec.js
index 4d15a36867b..e566d3a4b38 100644
--- a/spec/frontend/editor/editor_lite_spec.js
+++ b/spec/frontend/editor/editor_lite_spec.js
@@ -26,9 +26,7 @@ describe('Base editor', () => {
it('initializes Editor with basic properties', () => {
expect(editor).toBeDefined();
- expect(editor.editorEl).toBe(null);
- expect(editor.blobContent).toBe('');
- expect(editor.blobPath).toBe('');
+ expect(editor.instances).toEqual([]);
});
it('removes `editor-loading` data attribute from the target DOM element', () => {
@@ -59,10 +57,6 @@ describe('Base editor', () => {
editor.createInstance();
}).toThrow(EDITOR_LITE_INSTANCE_ERROR_NO_EL);
- expect(editor.editorEl).toBe(null);
- expect(editor.blobContent).toBe('');
- expect(editor.blobPath).toBe('');
-
expect(modelSpy).not.toHaveBeenCalled();
expect(instanceSpy).not.toHaveBeenCalled();
expect(setModel).not.toHaveBeenCalled();
@@ -93,14 +87,14 @@ describe('Base editor', () => {
});
it('initializes instance with passed properties', () => {
+ const instanceOptions = {
+ foo: 'bar',
+ };
editor.createInstance({
el: editorEl,
- blobContent,
- blobPath,
+ ...instanceOptions,
});
- expect(editor.editorEl).toBe(editorEl);
- expect(editor.blobContent).toBe(blobContent);
- expect(editor.blobPath).toBe(blobPath);
+ expect(instanceSpy).toHaveBeenCalledWith(editorEl, expect.objectContaining(instanceOptions));
});
it('disposes instance when the editor is disposed', () => {
@@ -149,16 +143,26 @@ describe('Base editor', () => {
it('can initialize several instances of the same editor', () => {
editor.createInstance(inst1Args);
- expect(editor.editorEl).toBe(editorEl1);
expect(editor.instances).toHaveLength(1);
editor.createInstance(inst2Args);
- expect(editor.editorEl).toBe(editorEl2);
expect(instanceSpy).toHaveBeenCalledTimes(2);
expect(editor.instances).toHaveLength(2);
});
+ it('sets independent models on independent instances', () => {
+ inst1 = editor.createInstance(inst1Args);
+ inst2 = editor.createInstance(inst2Args);
+
+ const model1 = inst1.getModel();
+ const model2 = inst2.getModel();
+
+ expect(model1).toBeDefined();
+ expect(model2).toBeDefined();
+ expect(model1).not.toEqual(model2);
+ });
+
it('shares global editor options among all instances', () => {
editor = new Editor({
readOnly: true,
@@ -218,20 +222,20 @@ describe('Base editor', () => {
const blobRenamedPath = 'test.js';
- expect(editor.model.getLanguageIdentifier().language).toBe('markdown');
- editor.updateModelLanguage(blobRenamedPath);
+ expect(instance.getModel().getLanguageIdentifier().language).toBe('markdown');
+ instance.updateModelLanguage(blobRenamedPath);
- expect(editor.model.getLanguageIdentifier().language).toBe('javascript');
+ expect(instance.getModel().getLanguageIdentifier().language).toBe('javascript');
});
it('falls back to plaintext if there is no language associated with an extension', () => {
const blobRenamedPath = 'test.myext';
const spy = jest.spyOn(console, 'error').mockImplementation(() => {});
- editor.updateModelLanguage(blobRenamedPath);
+ instance.updateModelLanguage(blobRenamedPath);
expect(spy).not.toHaveBeenCalled();
- expect(editor.model.getLanguageIdentifier().language).toBe('plaintext');
+ expect(instance.getModel().getLanguageIdentifier().language).toBe('plaintext');
});
});
@@ -298,7 +302,6 @@ describe('Base editor', () => {
};
editor.use(FunctionExt);
expect(instance.inst()).toEqual(editor.instances[0]);
- expect(instance.mod()).toEqual(editor.model);
});
describe('multiple instances', () => {
diff --git a/spec/frontend/editor/editor_markdown_ext_spec.js b/spec/frontend/editor/editor_markdown_ext_spec.js
index 7720708277c..30ab29aad35 100644
--- a/spec/frontend/editor/editor_markdown_ext_spec.js
+++ b/spec/frontend/editor/editor_markdown_ext_spec.js
@@ -35,7 +35,7 @@ describe('Markdown Extension for Editor Lite', () => {
});
afterEach(() => {
- editor.model.dispose();
+ instance.dispose();
editorEl.remove();
});