mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-02 01:25:39 -05:00
Merge from vscode 8e0f348413f4f616c23a88ae30030efa85811973 (#6381)
* Merge from vscode 8e0f348413f4f616c23a88ae30030efa85811973 * disable strict null check
This commit is contained in:
@@ -185,7 +185,11 @@ export class Workspace implements IWorkspace {
|
||||
return null;
|
||||
}
|
||||
|
||||
return this._foldersMap.findSubstr(resource.toString()) || null;
|
||||
return this._foldersMap.findSubstr(resource.with({
|
||||
scheme: resource.scheme,
|
||||
authority: resource.authority,
|
||||
path: resource.path
|
||||
}).toString()) || null;
|
||||
}
|
||||
|
||||
private updateFoldersMap(): void {
|
||||
@@ -228,7 +232,7 @@ export function toWorkspaceFolder(resource: URI): WorkspaceFolder {
|
||||
|
||||
export function toWorkspaceFolders(configuredFolders: IStoredWorkspaceFolder[], workspaceConfigFile: URI): WorkspaceFolder[] {
|
||||
let result: WorkspaceFolder[] = [];
|
||||
let seen: { [uri: string]: boolean } = Object.create(null);
|
||||
let seen: Set<string> = new Set();
|
||||
|
||||
const relativeTo = resources.dirname(workspaceConfigFile);
|
||||
for (let configuredFolder of configuredFolders) {
|
||||
@@ -252,8 +256,8 @@ export function toWorkspaceFolders(configuredFolders: IStoredWorkspaceFolder[],
|
||||
if (uri) {
|
||||
// remove duplicates
|
||||
let comparisonKey = resources.getComparisonKey(uri);
|
||||
if (!seen[comparisonKey]) {
|
||||
seen[comparisonKey] = true;
|
||||
if (!seen.has(comparisonKey)) {
|
||||
seen.add(comparisonKey);
|
||||
|
||||
const name = configuredFolder.name || resources.basenameOrAuthority(uri);
|
||||
result.push(new WorkspaceFolder({ uri, name, index: result.length }, configuredFolder));
|
||||
|
||||
@@ -52,6 +52,15 @@ suite('Workspace', () => {
|
||||
assert.equal(actual, expected);
|
||||
});
|
||||
|
||||
test('getFolder returns the folder even if the uri has query path', () => {
|
||||
const expected = new WorkspaceFolder({ uri: testFolderUri, name: '', index: 2 });
|
||||
let testObject = new Workspace('', [new WorkspaceFolder({ uri: mainFolderUri, name: '', index: 0 }), new WorkspaceFolder({ uri: URI.file('/src/code'), name: '', index: 1 }), expected]);
|
||||
|
||||
const actual = testObject.getFolder(URI.file(path.join(fileFolder, 'test/a')).with({ query: 'somequery' }));
|
||||
|
||||
assert.equal(actual, expected);
|
||||
});
|
||||
|
||||
test('getFolder returns null if the uri is not sub', () => {
|
||||
let testObject = new Workspace('', [new WorkspaceFolder({ uri: testFolderUri, name: '', index: 0 }), new WorkspaceFolder({ uri: URI.file('/src/code'), name: '', index: 1 })]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user