@@ -1388,17 +1388,8 @@ Actual: ${stringify(fullActual)}`);
1388
1388
}
1389
1389
}
1390
1390
1391
- public verifyRenameLocations ( startRanges : ArrayOrSingle < Range > , options : Range [ ] | { findInStrings ?: boolean , findInComments ?: boolean , ranges : Range [ ] } ) {
1392
- let findInStrings : boolean , findInComments : boolean , ranges : Range [ ] ;
1393
- if ( ts . isArray ( options ) ) {
1394
- findInStrings = findInComments = false ;
1395
- ranges = options ;
1396
- }
1397
- else {
1398
- findInStrings = ! ! options . findInStrings ;
1399
- findInComments = ! ! options . findInComments ;
1400
- ranges = options . ranges ;
1401
- }
1391
+ public verifyRenameLocations ( startRanges : ArrayOrSingle < Range > , options : ReadonlyArray < Range > | { findInStrings ?: boolean , findInComments ?: boolean , ranges : ReadonlyArray < Range > } ) {
1392
+ const { findInStrings = false , findInComments = false , ranges = this . getRanges ( ) } = ts . isArray ( options ) ? { findInStrings : false , findInComments : false , ranges : options } : options ;
1402
1393
1403
1394
for ( const startRange of toArray ( startRanges ) ) {
1404
1395
this . goToRangeStart ( startRange ) ;
@@ -1409,30 +1400,12 @@ Actual: ${stringify(fullActual)}`);
1409
1400
break ;
1410
1401
}
1411
1402
1412
- let references = this . languageService . findRenameLocations (
1403
+ const references = this . languageService . findRenameLocations (
1413
1404
this . activeFile . fileName , this . currentCaretPosition , findInStrings , findInComments ) ;
1414
1405
1415
- ranges = ranges || this . getRanges ( ) ;
1416
-
1417
- if ( ! references ) {
1418
- if ( ranges . length !== 0 ) {
1419
- this . raiseError ( `Expected ${ ranges . length } rename locations; got none.` ) ;
1420
- }
1421
- return ;
1422
- }
1423
-
1424
- if ( ranges . length !== references . length ) {
1425
- this . raiseError ( "Rename location count does not match result.\n\nExpected: " + stringify ( ranges ) + "\n\nActual:" + stringify ( references ) ) ;
1426
- }
1427
-
1428
- ranges = ranges . sort ( ( r1 , r2 ) => r1 . pos - r2 . pos ) ;
1429
- references = references . sort ( ( r1 , r2 ) => r1 . textSpan . start - r2 . textSpan . start ) ;
1430
-
1431
- ts . zipWith ( references , ranges , ( reference , range ) => {
1432
- if ( reference . textSpan . start !== range . pos || ts . textSpanEnd ( reference . textSpan ) !== range . end ) {
1433
- this . raiseError ( "Rename location results do not match.\n\nExpected: " + stringify ( ranges ) + "\n\nActual:" + stringify ( references ) ) ;
1434
- }
1435
- } ) ;
1406
+ const sort = ( locations : ReadonlyArray < ts . RenameLocation > | undefined ) =>
1407
+ locations && ts . sort ( locations , ( r1 , r2 ) => ts . compareStringsCaseSensitive ( r1 . fileName , r2 . fileName ) || r1 . textSpan . start - r2 . textSpan . start ) ;
1408
+ assert . deepEqual ( sort ( references ) , sort ( ranges . map ( ( r ) : ts . RenameLocation => ( { fileName : r . fileName , textSpan : ts . createTextSpanFromRange ( r ) } ) ) ) ) ;
1436
1409
}
1437
1410
}
1438
1411
0 commit comments