Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/editor/test/browser/viewModel/testViewModel.ts
3296 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { IEditorOptions } from '../../../common/config/editorOptions.js';
7
import { TextModel } from '../../../common/model/textModel.js';
8
import { ViewModel } from '../../../common/viewModel/viewModelImpl.js';
9
import { TestConfiguration } from '../config/testConfiguration.js';
10
import { MonospaceLineBreaksComputerFactory } from '../../../common/viewModel/monospaceLineBreaksComputer.js';
11
import { createTextModel } from '../../common/testTextModel.js';
12
import { TestLanguageConfigurationService } from '../../common/modes/testLanguageConfigurationService.js';
13
import { TestThemeService } from '../../../../platform/theme/test/common/testThemeService.js';
14
15
export function testViewModel(text: string[], options: IEditorOptions, callback: (viewModel: ViewModel, model: TextModel) => void): void {
16
const EDITOR_ID = 1;
17
18
const configuration = new TestConfiguration(options);
19
const model = createTextModel(text.join('\n'));
20
const monospaceLineBreaksComputerFactory = MonospaceLineBreaksComputerFactory.create(configuration.options);
21
const testLanguageConfigurationService = new TestLanguageConfigurationService();
22
const viewModel = new ViewModel(EDITOR_ID, configuration, model, monospaceLineBreaksComputerFactory, monospaceLineBreaksComputerFactory, null!, testLanguageConfigurationService, new TestThemeService(), {
23
setVisibleLines(visibleLines, stabilized) {
24
},
25
}, {
26
batchChanges: (cb) => cb(),
27
});
28
29
callback(viewModel, model);
30
31
viewModel.dispose();
32
model.dispose();
33
configuration.dispose();
34
testLanguageConfigurationService.dispose();
35
}
36
37