forked from microsoft/vscode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathextpath.test.ts
More file actions
82 lines (65 loc) · 2.39 KB
/
extpath.test.ts
File metadata and controls
82 lines (65 loc) · 2.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as assert from 'assert';
import { tmpdir } from 'os';
import { realcase, realcaseSync, realpath, realpathSync } from 'vs/base/node/extpath';
import { Promises } from 'vs/base/node/pfs';
import { flakySuite, getRandomTestPath } from 'vs/base/test/node/testUtils';
flakySuite('Extpath', () => {
let testDir: string;
setup(() => {
testDir = getRandomTestPath(tmpdir(), 'vsctests', 'extpath');
return Promises.mkdir(testDir, { recursive: true });
});
teardown(() => {
return Promises.rm(testDir);
});
test('realcaseSync', async () => {
// assume case insensitive file system
if (process.platform === 'win32' || process.platform === 'darwin') {
const upper = testDir.toUpperCase();
const real = realcaseSync(upper);
if (real) { // can be null in case of permission errors
assert.notStrictEqual(real, upper);
assert.strictEqual(real.toUpperCase(), upper);
assert.strictEqual(real, testDir);
}
}
// linux, unix, etc. -> assume case sensitive file system
else {
let real = realcaseSync(testDir);
assert.strictEqual(real, testDir);
real = realcaseSync(testDir.toUpperCase());
assert.strictEqual(real, testDir.toUpperCase());
}
});
test('realcase', async () => {
// assume case insensitive file system
if (process.platform === 'win32' || process.platform === 'darwin') {
const upper = testDir.toUpperCase();
const real = await realcase(upper);
if (real) { // can be null in case of permission errors
assert.notStrictEqual(real, upper);
assert.strictEqual(real.toUpperCase(), upper);
assert.strictEqual(real, testDir);
}
}
// linux, unix, etc. -> assume case sensitive file system
else {
let real = await realcase(testDir);
assert.strictEqual(real, testDir);
real = await realcase(testDir.toUpperCase());
assert.strictEqual(real, testDir.toUpperCase());
}
});
test('realpath', async () => {
const realpathVal = await realpath(testDir);
assert.ok(realpathVal);
});
test('realpathSync', () => {
const realpath = realpathSync(testDir);
assert.ok(realpath);
});
});