@finos/legend-lego
Version:
Legend code editor support
107 lines • 5.22 kB
JavaScript
/**
* Copyright (c) 2020-present, Goldman Sachs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { createMock } from '@finos/legend-shared/test';
/**
* NOTE: we have tried different ways to mock `monaco-editor`. But those ways often involve
* trying to load `monaco-editor` from `node_modules` and that takes a long time, so we'd better just mock
* it completely like in this file.
* See https://gitlab.com/gitlab-org/gitlab/-/issues/119194
* See https://stackoverflow.com/questions/57731857/cannot-test-jest-with-monaco-editor-unexpected-token
*/
export var MockedMonacoEditorKeyCode;
(function (MockedMonacoEditorKeyCode) {
MockedMonacoEditorKeyCode[MockedMonacoEditorKeyCode["F1"] = 59] = "F1";
MockedMonacoEditorKeyCode[MockedMonacoEditorKeyCode["F8"] = 66] = "F8";
MockedMonacoEditorKeyCode[MockedMonacoEditorKeyCode["F9"] = 67] = "F9";
MockedMonacoEditorKeyCode[MockedMonacoEditorKeyCode["F10"] = 68] = "F10";
})(MockedMonacoEditorKeyCode || (MockedMonacoEditorKeyCode = {}));
export var MockedMonacoEditorMarkerSeverity;
(function (MockedMonacoEditorMarkerSeverity) {
MockedMonacoEditorMarkerSeverity[MockedMonacoEditorMarkerSeverity["Hint"] = 1] = "Hint";
MockedMonacoEditorMarkerSeverity[MockedMonacoEditorMarkerSeverity["Info"] = 2] = "Info";
MockedMonacoEditorMarkerSeverity[MockedMonacoEditorMarkerSeverity["Warning"] = 4] = "Warning";
MockedMonacoEditorMarkerSeverity[MockedMonacoEditorMarkerSeverity["Error"] = 8] = "Error";
})(MockedMonacoEditorMarkerSeverity || (MockedMonacoEditorMarkerSeverity = {}));
export var MockedMonacoEditorEndOfLinePreference;
(function (MockedMonacoEditorEndOfLinePreference) {
MockedMonacoEditorEndOfLinePreference[MockedMonacoEditorEndOfLinePreference["LF"] = 1] = "LF";
})(MockedMonacoEditorEndOfLinePreference || (MockedMonacoEditorEndOfLinePreference = {}));
export const MockedMonacoEditorModel = {
dispose: createMock(),
updateOptions: createMock(),
getValue: createMock(),
getLineCount: createMock(),
getLineMaxColumn: createMock(),
pushStackElement: createMock(),
pushEditOperations: createMock(),
findMatches: createMock(),
};
export const MockedMonacoEditorInstance = {
focus: createMock(),
dispose: createMock(),
addCommand: createMock(),
getValue: createMock(),
getPosition: createMock(),
getRawOptions: createMock(),
getModel: () => MockedMonacoEditorModel,
hasTextFocus: createMock(),
updateOptions: createMock(),
setValue: createMock(),
revealPosition: createMock(),
setPosition: createMock(),
onKeyDown: createMock(),
createDecorationsCollection: createMock(),
onDidChangeModelContent: createMock(),
onDidChangeCursorPosition: createMock(),
onDidFocusEditorText: createMock(),
onDidBlurEditorText: createMock(),
onDidFocusEditorWidget: createMock(),
};
export const MockedMonacoEditorAPI = {
create: () => MockedMonacoEditorInstance,
focus: createMock(),
createModel: createMock(),
createDiffEditor: () => ({
getOriginalEditor: () => MockedMonacoEditorInstance,
getModifiedEditor: () => MockedMonacoEditorInstance,
}),
setModelMarkers: createMock(),
setModelLanguage: createMock(),
defineTheme: createMock(),
EndOfLinePreference: MockedMonacoEditorEndOfLinePreference,
removeAllMarkers: createMock(),
remeasureFonts: createMock(),
};
export var MockedMonacoLanguageCompletionItemKind;
(function (MockedMonacoLanguageCompletionItemKind) {
MockedMonacoLanguageCompletionItemKind[MockedMonacoLanguageCompletionItemKind["Keyword"] = 17] = "Keyword";
MockedMonacoLanguageCompletionItemKind[MockedMonacoLanguageCompletionItemKind["Snippet"] = 27] = "Snippet";
})(MockedMonacoLanguageCompletionItemKind || (MockedMonacoLanguageCompletionItemKind = {}));
export var MockedMonacoLanguageCompletionItemInsertTextRule;
(function (MockedMonacoLanguageCompletionItemInsertTextRule) {
MockedMonacoLanguageCompletionItemInsertTextRule[MockedMonacoLanguageCompletionItemInsertTextRule["InsertAsSnippet"] = 4] = "InsertAsSnippet";
})(MockedMonacoLanguageCompletionItemInsertTextRule || (MockedMonacoLanguageCompletionItemInsertTextRule = {}));
export const MockedMonacoEditorLanguagesAPI = {
register: createMock(),
setLanguageConfiguration: createMock(),
setMonarchTokensProvider: createMock(),
registerCodeLensProvider: createMock(),
registerHoverProvider: createMock(),
registerCompletionItemProvider: createMock(),
CompletionItemKind: MockedMonacoLanguageCompletionItemKind,
CompletionItemInsertTextRule: MockedMonacoLanguageCompletionItemKind,
};
//# sourceMappingURL=MonacoEditorMockUtils.js.map