mirror of
https://github.com/Microsoft/vscode
synced 2024-10-02 17:32:41 +00:00
* macOS/Linux: Allow `\` in file names (fix #212740) * fix tests * bump salt
This commit is contained in:
parent
c72bcdaa99
commit
6af31616a7
|
@ -1 +1 @@
|
||||||
2024-03-18T08:47:22.277Z
|
2024-05-16T08:47:22.277Z
|
||||||
|
|
|
@ -164,7 +164,7 @@ export function isUNC(path: string): boolean {
|
||||||
|
|
||||||
// Reference: https://en.wikipedia.org/wiki/Filename
|
// Reference: https://en.wikipedia.org/wiki/Filename
|
||||||
const WINDOWS_INVALID_FILE_CHARS = /[\\/:\*\?"<>\|]/g;
|
const WINDOWS_INVALID_FILE_CHARS = /[\\/:\*\?"<>\|]/g;
|
||||||
const UNIX_INVALID_FILE_CHARS = /[\\/]/g;
|
const UNIX_INVALID_FILE_CHARS = /[/]/g;
|
||||||
const WINDOWS_FORBIDDEN_NAMES = /^(con|prn|aux|clock\$|nul|lpt[0-9]|com[0-9])(\.(.*?))?$/i;
|
const WINDOWS_FORBIDDEN_NAMES = /^(con|prn|aux|clock\$|nul|lpt[0-9]|com[0-9])(\.(.*?))?$/i;
|
||||||
export function isValidBasename(name: string | null | undefined, isWindowsOS: boolean = isWindows): boolean {
|
export function isValidBasename(name: string | null | undefined, isWindowsOS: boolean = isWindows): boolean {
|
||||||
const invalidFileChars = isWindowsOS ? WINDOWS_INVALID_FILE_CHARS : UNIX_INVALID_FILE_CHARS;
|
const invalidFileChars = isWindowsOS ? WINDOWS_INVALID_FILE_CHARS : UNIX_INVALID_FILE_CHARS;
|
||||||
|
|
|
@ -50,9 +50,9 @@ suite('Paths', () => {
|
||||||
assert.ok(!extpath.isValidBasename(''));
|
assert.ok(!extpath.isValidBasename(''));
|
||||||
assert.ok(extpath.isValidBasename('test.txt'));
|
assert.ok(extpath.isValidBasename('test.txt'));
|
||||||
assert.ok(!extpath.isValidBasename('/test.txt'));
|
assert.ok(!extpath.isValidBasename('/test.txt'));
|
||||||
assert.ok(!extpath.isValidBasename('\\test.txt'));
|
|
||||||
|
|
||||||
if (isWindows) {
|
if (isWindows) {
|
||||||
|
assert.ok(!extpath.isValidBasename('\\test.txt'));
|
||||||
assert.ok(!extpath.isValidBasename('aux'));
|
assert.ok(!extpath.isValidBasename('aux'));
|
||||||
assert.ok(!extpath.isValidBasename('Aux'));
|
assert.ok(!extpath.isValidBasename('Aux'));
|
||||||
assert.ok(!extpath.isValidBasename('LPT0'));
|
assert.ok(!extpath.isValidBasename('LPT0'));
|
||||||
|
@ -69,6 +69,8 @@ suite('Paths', () => {
|
||||||
assert.ok(!extpath.isValidBasename('test.txt\t'));
|
assert.ok(!extpath.isValidBasename('test.txt\t'));
|
||||||
assert.ok(!extpath.isValidBasename('tes:t.txt'));
|
assert.ok(!extpath.isValidBasename('tes:t.txt'));
|
||||||
assert.ok(!extpath.isValidBasename('tes"t.txt'));
|
assert.ok(!extpath.isValidBasename('tes"t.txt'));
|
||||||
|
} else {
|
||||||
|
assert.ok(extpath.isValidBasename('\\test.txt'));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue