Merge from vscode 2f984aad710215f4e4684a035bb02f55d1a9e2cc (#9819)

This commit is contained in:
Anthony Dresser
2020-04-01 00:44:39 -07:00
committed by GitHub
parent 0e27aaa61f
commit 0bfbdc62ed
247 changed files with 5402 additions and 3311 deletions

View File

@@ -857,41 +857,58 @@ suite('Fuzzy Scorer', () => {
});
test('prepareQuery', () => {
assert.equal(scorer.prepareQuery(' f*a ').value, 'fa');
assert.equal(scorer.prepareQuery(' f*a ').normalized, 'fa');
assert.equal(scorer.prepareQuery('model Tester.ts').original, 'model Tester.ts');
assert.equal(scorer.prepareQuery('model Tester.ts').originalLowercase, 'model Tester.ts'.toLowerCase());
assert.equal(scorer.prepareQuery('model Tester.ts').value, 'modelTester.ts');
assert.equal(scorer.prepareQuery('Model Tester.ts').valueLowercase, 'modeltester.ts');
assert.equal(scorer.prepareQuery('model Tester.ts').normalized, 'modelTester.ts');
assert.equal(scorer.prepareQuery('Model Tester.ts').normalizedLowercase, 'modeltester.ts');
assert.equal(scorer.prepareQuery('ModelTester.ts').containsPathSeparator, false);
assert.equal(scorer.prepareQuery('Model' + sep + 'Tester.ts').containsPathSeparator, true);
// with spaces
let query = scorer.prepareQuery('He*llo World');
assert.equal(query.original, 'He*llo World');
assert.equal(query.value, 'HelloWorld');
assert.equal(query.valueLowercase, 'HelloWorld'.toLowerCase());
assert.equal(query.normalized, 'HelloWorld');
assert.equal(query.normalizedLowercase, 'HelloWorld'.toLowerCase());
assert.equal(query.values?.length, 2);
assert.equal(query.values?.[0].original, 'He*llo');
assert.equal(query.values?.[0].value, 'Hello');
assert.equal(query.values?.[0].valueLowercase, 'Hello'.toLowerCase());
assert.equal(query.values?.[0].normalized, 'Hello');
assert.equal(query.values?.[0].normalizedLowercase, 'Hello'.toLowerCase());
assert.equal(query.values?.[1].original, 'World');
assert.equal(query.values?.[1].value, 'World');
assert.equal(query.values?.[1].valueLowercase, 'World'.toLowerCase());
assert.equal(query.values?.[1].normalized, 'World');
assert.equal(query.values?.[1].normalizedLowercase, 'World'.toLowerCase());
// with spaces that are empty
query = scorer.prepareQuery(' Hello World ');
assert.equal(query.original, ' Hello World ');
assert.equal(query.originalLowercase, ' Hello World '.toLowerCase());
assert.equal(query.value, 'HelloWorld');
assert.equal(query.valueLowercase, 'HelloWorld'.toLowerCase());
assert.equal(query.normalized, 'HelloWorld');
assert.equal(query.normalizedLowercase, 'HelloWorld'.toLowerCase());
assert.equal(query.values?.length, 2);
assert.equal(query.values?.[0].original, 'Hello');
assert.equal(query.values?.[0].originalLowercase, 'Hello'.toLowerCase());
assert.equal(query.values?.[0].value, 'Hello');
assert.equal(query.values?.[0].valueLowercase, 'Hello'.toLowerCase());
assert.equal(query.values?.[0].normalized, 'Hello');
assert.equal(query.values?.[0].normalizedLowercase, 'Hello'.toLowerCase());
assert.equal(query.values?.[1].original, 'World');
assert.equal(query.values?.[1].originalLowercase, 'World'.toLowerCase());
assert.equal(query.values?.[1].value, 'World');
assert.equal(query.values?.[1].valueLowercase, 'World'.toLowerCase());
assert.equal(query.values?.[1].normalized, 'World');
assert.equal(query.values?.[1].normalizedLowercase, 'World'.toLowerCase());
// Path related
if (isWindows) {
assert.equal(scorer.prepareQuery('C:\\some\\path').pathNormalized, 'C:\\some\\path');
assert.equal(scorer.prepareQuery('C:\\some\\path').normalized, 'C:\\some\\path');
assert.equal(scorer.prepareQuery('C:\\some\\path').containsPathSeparator, true);
assert.equal(scorer.prepareQuery('C:/some/path').pathNormalized, 'C:\\some\\path');
assert.equal(scorer.prepareQuery('C:/some/path').normalized, 'C:\\some\\path');
assert.equal(scorer.prepareQuery('C:/some/path').containsPathSeparator, true);
} else {
assert.equal(scorer.prepareQuery('/some/path').pathNormalized, '/some/path');
assert.equal(scorer.prepareQuery('/some/path').normalized, '/some/path');
assert.equal(scorer.prepareQuery('/some/path').containsPathSeparator, true);
assert.equal(scorer.prepareQuery('\\some\\path').pathNormalized, '/some/path');
assert.equal(scorer.prepareQuery('\\some\\path').normalized, '/some/path');
assert.equal(scorer.prepareQuery('\\some\\path').containsPathSeparator, true);
}
});
});

View File

@@ -3,7 +3,7 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { ResourceMap, TernarySearchTree, PathIterator, StringIterator, LinkedMap, Touch, LRUCache, mapToSerializable, serializableToMap } from 'vs/base/common/map';
import { ResourceMap, TernarySearchTree, PathIterator, StringIterator, LinkedMap, Touch, LRUCache } from 'vs/base/common/map';
import * as assert from 'assert';
import { URI } from 'vs/base/common/uri';
@@ -629,17 +629,4 @@ suite('Map', () => {
// assert.equal(map.get(windowsFile), 'true');
// assert.equal(map.get(uncFile), 'true');
// });
test('mapToSerializable / serializableToMap', function () {
const map = new Map<string, string>();
map.set('1', 'foo');
map.set('2', null!);
map.set('3', 'bar');
const map2 = serializableToMap(mapToSerializable(map));
assert.equal(map2.size, map.size);
assert.equal(map2.get('1'), map.get('1'));
assert.equal(map2.get('2'), map.get('2'));
assert.equal(map2.get('3'), map.get('3'));
});
});

View File

@@ -563,5 +563,8 @@ suite('URI', () => {
assertJoined(('file://ser/foo/'), '../../bazz', 'file://ser/foo/bazz', false);
assertJoined(('file://ser/foo'), '../../bazz', 'file://ser/foo/bazz', false);
//https://github.com/microsoft/vscode/issues/93831
assertJoined('file:///c:/foo/bar', './other/foo.img', 'file:///c:/foo/bar/other/foo.img', false);
});
});

View File

@@ -401,9 +401,9 @@ suite('Paths (Node Implementation)', () => {
];
resolveTests.forEach((test) => {
const resolve = test[0];
//@ts-ignore
//@ts-expect-error
test[1].forEach((test) => {
//@ts-ignore
//@ts-expect-error
const actual = resolve.apply(null, test[0]);
let actualAlt;
const os = resolve === path.win32.resolve ? 'win32' : 'posix';
@@ -579,9 +579,9 @@ suite('Paths (Node Implementation)', () => {
];
relativeTests.forEach((test) => {
const relative = test[0];
//@ts-ignore
//@ts-expect-error
test[1].forEach((test) => {
//@ts-ignore
//@ts-expect-error
const actual = relative(test[0], test[1]);
const expected = test[2];
const os = relative === path.win32.relative ? 'win32' : 'posix';