Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/contrib/files/test/browser/fileOnDiskProvider.test.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 assert from 'assert';
7
import { URI } from '../../../../../base/common/uri.js';
8
import { workbenchInstantiationService, TestServiceAccessor } from '../../../../test/browser/workbenchTestServices.js';
9
import { IInstantiationService } from '../../../../../platform/instantiation/common/instantiation.js';
10
import { TextFileContentProvider } from '../../common/files.js';
11
import { snapshotToString } from '../../../../services/textfile/common/textfiles.js';
12
import { DisposableStore } from '../../../../../base/common/lifecycle.js';
13
import { ensureNoDisposablesAreLeakedInTestSuite } from '../../../../../base/test/common/utils.js';
14
15
suite('Files - FileOnDiskContentProvider', () => {
16
17
const disposables = new DisposableStore();
18
let instantiationService: IInstantiationService;
19
let accessor: TestServiceAccessor;
20
21
setup(() => {
22
instantiationService = workbenchInstantiationService(undefined, disposables);
23
accessor = instantiationService.createInstance(TestServiceAccessor);
24
});
25
26
teardown(() => {
27
disposables.clear();
28
});
29
30
test('provideTextContent', async () => {
31
const provider = disposables.add(instantiationService.createInstance(TextFileContentProvider));
32
const uri = URI.parse('testFileOnDiskContentProvider://foo');
33
34
const content = await provider.provideTextContent(uri.with({ scheme: 'conflictResolution', query: JSON.stringify({ scheme: uri.scheme }) }));
35
36
assert.ok(content);
37
assert.strictEqual(snapshotToString(content.createSnapshot()), 'Hello Html');
38
assert.strictEqual(accessor.fileService.getLastReadFileUri().scheme, uri.scheme);
39
assert.strictEqual(accessor.fileService.getLastReadFileUri().path, uri.path);
40
41
content.dispose();
42
});
43
44
ensureNoDisposablesAreLeakedInTestSuite();
45
});
46
47