From 4b77cd2a988048539bacf0403b1bf5ff9106caff Mon Sep 17 00:00:00 2001 From: Sandeep Somavarapu Date: Sun, 30 Jun 2019 20:59:29 +0200 Subject: [PATCH] Fix #73127 --- src/vs/platform/workspace/common/workspace.ts | 6 +++++- src/vs/platform/workspace/test/common/workspace.test.ts | 9 +++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/vs/platform/workspace/common/workspace.ts b/src/vs/platform/workspace/common/workspace.ts index 5f415bd590b..5353a0eb7e7 100644 --- a/src/vs/platform/workspace/common/workspace.ts +++ b/src/vs/platform/workspace/common/workspace.ts @@ -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 { diff --git a/src/vs/platform/workspace/test/common/workspace.test.ts b/src/vs/platform/workspace/test/common/workspace.test.ts index 63dff7e2bf5..10e257276db 100644 --- a/src/vs/platform/workspace/test/common/workspace.test.ts +++ b/src/vs/platform/workspace/test/common/workspace.test.ts @@ -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 })]); -- GitLab