@@ -198,6 +198,32 @@ suite('TerminalCompletionService', () => {
198198 ] , { replacementRange : [ 1 , 3 ] } ) ;
199199 } ) ;
200200
201+ test ( '../| should return parent folder completions' , async ( ) => {
202+ // Scenario: cwd is /parent/folder1, sibling is /parent/folder2
203+ // When typing ../, should see contents of /parent/ (folder1 and folder2)
204+ validResources = [
205+ URI . parse ( 'file:///parent/folder1' ) ,
206+ URI . parse ( 'file:///parent' ) ,
207+ ] ;
208+ childResources = [
209+ { resource : URI . parse ( 'file:///parent/folder1/' ) , isDirectory : true } ,
210+ { resource : URI . parse ( 'file:///parent/folder2/' ) , isDirectory : true } ,
211+ ] ;
212+ const resourceOptions : TerminalCompletionResourceOptions = {
213+ cwd : URI . parse ( 'file:///parent/folder1' ) ,
214+ showDirectories : true ,
215+ pathSeparator
216+ } ;
217+ const result = await terminalCompletionService . resolveResources ( resourceOptions , '../' , 3 , provider , capabilities ) ;
218+
219+ assertCompletions ( result , [
220+ { label : '../' , detail : '/parent/' } ,
221+ { label : '../folder1/' , detail : '/parent/folder1/' } ,
222+ { label : '../folder2/' , detail : '/parent/folder2/' } ,
223+ { label : '../../' , detail : '/' } ,
224+ ] , { replacementRange : [ 0 , 3 ] } ) ;
225+ } ) ;
226+
201227 test ( 'cd ./| should return folder completions' , async ( ) => {
202228 const resourceOptions : TerminalCompletionResourceOptions = {
203229 cwd : URI . parse ( 'file:///test' ) ,
@@ -564,7 +590,8 @@ suite('TerminalCompletionService', () => {
564590 assertCompletions ( result , [
565591 { label : './test/' , detail : '/test/test/' } ,
566592 { label : './test/inner/' , detail : '/test/test/inner/' } ,
567- { label : './test/../' , detail : '/' }
593+ // ../` from the viewed folder (/test/test/) goes to /test/, not /
594+ { label : './test/../' , detail : '/test/' }
568595 ] , { replacementRange : [ 0 , 5 ] } ) ;
569596 } ) ;
570597 test ( 'test/| should normalize current and parent folders' , async ( ) => {
0 commit comments