Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/copilot/src/extension/test/vscode-node/textDocumentManager.test.ts
13399 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 assert from 'assert';
7
import * as sinon from 'sinon';
8
import { workspace } from 'vscode';
9
import { ExtensionTextDocumentManager } from '../../../platform/workspace/vscode/workspaceServiceImpl';
10
import { URI } from '../../../util/vs/base/common/uri';
11
import { IInstantiationService } from '../../../util/vs/platform/instantiation/common/instantiation';
12
import { createExtensionTestingServices } from './services';
13
14
suite('extension text document manager', () => {
15
test('no workspace folders by default', () => {
16
const accessor = createExtensionTestingServices().createTestingAccessor();
17
const instantiationService = accessor.get(IInstantiationService);
18
const manager = instantiationService.createInstance(ExtensionTextDocumentManager);
19
20
const folders = manager.getWorkspaceFolders();
21
22
assert.deepStrictEqual(folders, []);
23
});
24
25
test('workspace folders', () => {
26
const accessor = createExtensionTestingServices().createTestingAccessor();
27
const instantiationService = accessor.get(IInstantiationService);
28
const manager = instantiationService.createInstance(ExtensionTextDocumentManager);
29
30
sinon.stub(workspace, 'workspaceFolders').value([
31
{
32
uri: URI.file('/path/to/folder1'),
33
name: 'folder1',
34
index: 0,
35
},
36
{
37
uri: URI.file('/path/to/folder2'),
38
39
name: 'folder2',
40
index: 1,
41
},
42
]);
43
44
const folders = manager.getWorkspaceFolders();
45
46
assert.deepStrictEqual(folders, [URI.parse('file:///path/to/folder1'), URI.parse('file:///path/to/folder2')]);
47
});
48
});
49
50