@@ -363,47 +363,42 @@ export class TestFileSystemDialog {
363363 fs : vscode . FileSystem ,
364364 callback ?: ( dialog : TestFileSystemDialog ) => void
365365 ) : Window [ 'showOpenDialog' ] {
366- return async ( ) => undefined
367-
368- // return async (options?: vscode.OpenDialogOptions) => {
369- // const dialog = new TestFileSystemDialog([], { type: 'Open', ...options })
370-
371- // return new Promise<vscode.Uri[] | undefined>((resolve) => {
372- // dialog.onDidAcceptItem((item) => resolve(item instanceof vscode.Uri ? [item] : item))
373- // dialog.show()
374- // callback?.(dialog)
375-
376- // // Auto-close dialog in test environments to prevent hanging
377- // setTimeout(() => {
378- // if (dialog.visible) {
379- // dialog.close()
380- // }
381- // }, 0)
382- // })
383- // }
366+ return async ( options ?: vscode . OpenDialogOptions ) => {
367+ const dialog = new TestFileSystemDialog ( [ ] , { type : 'Open' , ...options } )
368+
369+ return new Promise < vscode . Uri [ ] | undefined > ( ( resolve ) => {
370+ dialog . onDidAcceptItem ( ( item ) => resolve ( item instanceof vscode . Uri ? [ item ] : item ) )
371+ dialog . show ( )
372+ callback ?.( dialog )
373+
374+ // Auto-close dialog in test environments to prevent hanging
375+ setTimeout ( ( ) => {
376+ if ( dialog . visible ) {
377+ dialog . close ( )
378+ }
379+ } , 0 )
380+ } )
381+ }
384382 }
385383
386384 public static createShowSaveDialogFn (
387385 fs : vscode . FileSystem ,
388386 callback ?: ( dialog : TestFileSystemDialog ) => void
389387 ) : Window [ 'showSaveDialog' ] {
390- return async ( ) => undefined
391-
392- // return async (options?: vscode.SaveDialogOptions) => {
393- // const dialog = new TestFileSystemDialog([], { type: 'Save', ...options })
394-
395- // return new Promise<vscode.Uri | undefined>((resolve) => {
396- // dialog.onDidAcceptItem((item) => resolve(Array.isArray(item) ? item[0] : item))
397- // dialog.show()
398- // callback?.(dialog)
399-
400- // setTimeout(() => {
401- // if (dialog.visible) {
402- // dialog.close()
403- // }
404- // }, 0)
405- // })
406- // }
407- // }
388+ return async ( options ?: vscode . SaveDialogOptions ) => {
389+ const dialog = new TestFileSystemDialog ( [ ] , { type : 'Save' , ...options } )
390+
391+ return new Promise < vscode . Uri | undefined > ( ( resolve ) => {
392+ dialog . onDidAcceptItem ( ( item ) => resolve ( Array . isArray ( item ) ? item [ 0 ] : item ) )
393+ dialog . show ( )
394+ callback ?.( dialog )
395+
396+ setTimeout ( ( ) => {
397+ if ( dialog . visible ) {
398+ dialog . close ( )
399+ }
400+ } , 0 )
401+ } )
402+ }
408403 }
409404}
0 commit comments