@@ -3450,8 +3450,9 @@ describe('File', () => {
34503450
34513451 describe ( 'delete original file' , ( ) => {
34523452 it ( 'should delete if copy is successful' , done => {
3453+ const destinationFile = { bucket : { } } ;
34533454 file . copy = ( destination : { } , options : { } , callback : Function ) => {
3454- callback ( null ) ;
3455+ callback ( null , destinationFile ) ;
34553456 } ;
34563457 Object . assign ( file , {
34573458 delete ( ) {
@@ -3476,11 +3477,34 @@ describe('File', () => {
34763477 } ) ;
34773478 } ) ;
34783479
3480+ it ( 'should not delete the destination is same as origin' , done => {
3481+ file . request = ( config : { } , callback : Function ) => {
3482+ callback ( null , { } ) ;
3483+ } ;
3484+ const stub = sinon . stub ( file , 'delete' ) ;
3485+ // destination is same bucket as object
3486+ file . move ( BUCKET , ( err : Error ) => {
3487+ assert . ifError ( err ) ;
3488+ // destination is same file as object
3489+ file . move ( file , ( err : Error ) => {
3490+ assert . ifError ( err ) ;
3491+ // destination is same file name as string
3492+ file . move ( file . name , ( err : Error ) => {
3493+ assert . ifError ( err ) ;
3494+ assert . ok ( stub . notCalled ) ;
3495+ stub . reset ( ) ;
3496+ done ( ) ;
3497+ } ) ;
3498+ } ) ;
3499+ } ) ;
3500+ } ) ;
3501+
34793502 it ( 'should pass options to delete' , done => {
34803503 const options = { } ;
3504+ const destinationFile = { bucket : { } } ;
34813505
34823506 file . copy = ( destination : { } , options : { } , callback : Function ) => {
3483- callback ( ) ;
3507+ callback ( null , destinationFile ) ;
34843508 } ;
34853509
34863510 file . delete = ( options_ : { } ) => {
@@ -3493,8 +3517,9 @@ describe('File', () => {
34933517
34943518 it ( 'should fail if delete fails' , done => {
34953519 const error = new Error ( 'Error.' ) ;
3520+ const destinationFile = { bucket : { } } ;
34963521 file . copy = ( destination : { } , options : { } , callback : Function ) => {
3497- callback ( ) ;
3522+ callback ( null , destinationFile ) ;
34983523 } ;
34993524 file . delete = ( options : { } , callback : Function ) => {
35003525 callback ( error ) ;
0 commit comments