@@ -898,6 +898,44 @@ module FourSlash {
898898 }
899899 }
900900
901+ private validate ( name : string , expected : string , actual : string ) {
902+ if ( expected && expected !== actual ) {
903+ throw new Error ( "Expected " + name + " '" + expected + "'. Got '" + actual + "' instead." ) ;
904+ }
905+ }
906+
907+ public verifyRenameInfoSucceeded ( displayName ?: string , fullDisplayName ?: string , kind ?: string , kindModifiers ?: string ) {
908+ var renameInfo = this . languageService . getRenameInfo ( this . activeFile . fileName , this . currentCaretPosition ) ;
909+ if ( ! renameInfo . canRename ) {
910+ throw new Error ( "Rename did not succeed" ) ;
911+ }
912+
913+ this . validate ( "displayName" , displayName , renameInfo . displayName ) ;
914+ this . validate ( "fullDisplayName" , fullDisplayName , renameInfo . fullDisplayName ) ;
915+ this . validate ( "kind" , kind , renameInfo . kind ) ;
916+ this . validate ( "kindModifiers" , kindModifiers , renameInfo . kindModifiers ) ;
917+
918+ if ( this . getRanges ( ) . length !== 1 ) {
919+ throw new Error ( "Expected a single range to be selected in the test file." ) ;
920+ }
921+
922+ var expectedRange = this . getRanges ( ) [ 0 ] ;
923+ if ( renameInfo . triggerSpan . start ( ) !== expectedRange . start ||
924+ renameInfo . triggerSpan . end ( ) !== expectedRange . end ) {
925+ throw new Error ( "Expected triggerSpan [" + expectedRange . start + "," + expectedRange . end + "). Got [" +
926+ renameInfo . triggerSpan . start ( ) + "," + renameInfo . triggerSpan . end ( ) + ") instead." ) ;
927+ }
928+ }
929+
930+ public verifyRenameInfoFailed ( message ?: string ) {
931+ var renameInfo = this . languageService . getRenameInfo ( this . activeFile . fileName , this . currentCaretPosition ) ;
932+ if ( renameInfo . canRename ) {
933+ throw new Error ( "Rename was expected to fail" ) ;
934+ }
935+
936+ this . validate ( "error" , message , renameInfo . localizedErrorMessage ) ;
937+ }
938+
901939 //private getFormalParameter() {
902940 // var help = this.languageService.getSignatureHelpItems(this.activeFile.fileName, this.currentCaretPosition);
903941 // return help.formal;
0 commit comments