Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/platform/checksum/test/node/checksumService.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 { FileAccess, Schemas } from '../../../../base/common/network.js';
8
import { URI } from '../../../../base/common/uri.js';
9
import { ensureNoDisposablesAreLeakedInTestSuite } from '../../../../base/test/common/utils.js';
10
import { ChecksumService } from '../../node/checksumService.js';
11
import { IFileService } from '../../../files/common/files.js';
12
import { FileService } from '../../../files/common/fileService.js';
13
import { DiskFileSystemProvider } from '../../../files/node/diskFileSystemProvider.js';
14
import { NullLogService } from '../../../log/common/log.js';
15
16
suite('Checksum Service', () => {
17
18
let diskFileSystemProvider: DiskFileSystemProvider;
19
let fileService: IFileService;
20
21
setup(() => {
22
const logService = new NullLogService();
23
fileService = new FileService(logService);
24
25
diskFileSystemProvider = new DiskFileSystemProvider(logService);
26
fileService.registerProvider(Schemas.file, diskFileSystemProvider);
27
});
28
29
teardown(() => {
30
diskFileSystemProvider.dispose();
31
fileService.dispose();
32
});
33
34
test('checksum', async () => {
35
const checksumService = new ChecksumService(fileService);
36
37
const checksum = await checksumService.checksum(URI.file(FileAccess.asFileUri('vs/platform/checksum/test/node/fixtures/lorem.txt').fsPath));
38
assert.ok(checksum === 'd/9bMU0ydNCmc/hg8ItWeiLT/ePnf7gyPRQVGpd6tRI' || checksum === 'eJeeTIS0dzi8MZY+nHhjPBVtNbmGqxfVvgEOB4sqVIc'); // depends on line endings git config
39
});
40
41
ensureNoDisposablesAreLeakedInTestSuite();
42
});
43
44