@@ -489,23 +489,27 @@ flakySuite('Disk File Service', function () {
489
489
assert . ok ( result . ctime ! > 0 ) ;
490
490
} ) ;
491
491
492
- test ( 'deleteFile' , async ( ) => {
493
- return testDeleteFile ( false ) ;
492
+ test ( 'deleteFile (non recursive)' , async ( ) => {
493
+ return testDeleteFile ( false , false ) ;
494
+ } ) ;
495
+
496
+ test ( 'deleteFile (recursive)' , async ( ) => {
497
+ return testDeleteFile ( false , true ) ;
494
498
} ) ;
495
499
496
500
( isLinux /* trash is unreliable on Linux */ ? test . skip : test ) ( 'deleteFile (useTrash)' , async ( ) => {
497
- return testDeleteFile ( true ) ;
501
+ return testDeleteFile ( true , false ) ;
498
502
} ) ;
499
503
500
- async function testDeleteFile ( useTrash : boolean ) : Promise < void > {
504
+ async function testDeleteFile ( useTrash : boolean , recursive : boolean ) : Promise < void > {
501
505
let event : FileOperationEvent ;
502
506
disposables . add ( service . onDidRunOperation ( e => event = e ) ) ;
503
507
504
508
const resource = URI . file ( join ( testDir , 'deep' , 'conway.js' ) ) ;
505
509
const source = await service . resolve ( resource ) ;
506
510
507
- assert . strictEqual ( await service . canDelete ( source . resource , { useTrash } ) , true ) ;
508
- await service . del ( source . resource , { useTrash } ) ;
511
+ assert . strictEqual ( await service . canDelete ( source . resource , { useTrash, recursive } ) , true ) ;
512
+ await service . del ( source . resource , { useTrash, recursive } ) ;
509
513
510
514
assert . strictEqual ( existsSync ( source . resource . fsPath ) , false ) ;
511
515
@@ -515,7 +519,7 @@ flakySuite('Disk File Service', function () {
515
519
516
520
let error : Error | undefined = undefined ;
517
521
try {
518
- await service . del ( source . resource , { useTrash } ) ;
522
+ await service . del ( source . resource , { useTrash, recursive } ) ;
519
523
} catch ( e ) {
520
524
error = e ;
521
525
}
@@ -604,6 +608,22 @@ flakySuite('Disk File Service', function () {
604
608
assert . ok ( error ) ;
605
609
} ) ;
606
610
611
+ test ( 'deleteFolder empty folder (recursive)' , ( ) => {
612
+ return testDeleteEmptyFolder ( true ) ;
613
+ } ) ;
614
+
615
+ test ( 'deleteFolder empty folder (non recursive)' , ( ) => {
616
+ return testDeleteEmptyFolder ( false ) ;
617
+ } ) ;
618
+
619
+ async function testDeleteEmptyFolder ( recursive : boolean ) : Promise < void > {
620
+ const { resource } = await service . createFolder ( URI . file ( join ( testDir , 'deep' , 'empty' ) ) ) ;
621
+
622
+ await service . del ( resource , { recursive } ) ;
623
+
624
+ assert . strictEqual ( await service . exists ( resource ) , false ) ;
625
+ }
626
+
607
627
test ( 'move' , async ( ) => {
608
628
let event : FileOperationEvent ;
609
629
disposables . add ( service . onDidRunOperation ( e => event = e ) ) ;
0 commit comments