@@ -832,6 +832,44 @@ module FourSlash {
832
832
}
833
833
}
834
834
835
+ private validate ( name : string , expected : string , actual : string ) {
836
+ if ( expected && expected !== actual ) {
837
+ throw new Error ( "Expected " + name + " '" + expected + "'. Got '" + actual + "' instead." ) ;
838
+ }
839
+ }
840
+
841
+ public verifyRenameInfoSucceeded ( displayName ?: string , fullDisplayName ?: string , kind ?: string , kindModifiers ?: string ) {
842
+ var renameInfo = this . languageService . getRenameInfo ( this . activeFile . fileName , this . currentCaretPosition ) ;
843
+ if ( ! renameInfo . canRename ) {
844
+ throw new Error ( "Rename did not succeed" ) ;
845
+ }
846
+
847
+ this . validate ( "displayName" , displayName , renameInfo . displayName ) ;
848
+ this . validate ( "fullDisplayName" , fullDisplayName , renameInfo . fullDisplayName ) ;
849
+ this . validate ( "kind" , kind , renameInfo . kind ) ;
850
+ this . validate ( "kindModifiers" , kindModifiers , renameInfo . kindModifiers ) ;
851
+
852
+ if ( this . getRanges ( ) . length !== 1 ) {
853
+ throw new Error ( "Expected a single range to be selected in the test file." ) ;
854
+ }
855
+
856
+ var expectedRange = this . getRanges ( ) [ 0 ] ;
857
+ if ( renameInfo . triggerSpan . start ( ) !== expectedRange . start ||
858
+ renameInfo . triggerSpan . end ( ) !== expectedRange . end ) {
859
+ throw new Error ( "Expected triggerSpan [" + expectedRange . start + "," + expectedRange . end + "). Got [" +
860
+ renameInfo . triggerSpan . start ( ) + "," + renameInfo . triggerSpan . end ( ) + ") instead." ) ;
861
+ }
862
+ }
863
+
864
+ public verifyRenameInfoFailed ( message ?: string ) {
865
+ var renameInfo = this . languageService . getRenameInfo ( this . activeFile . fileName , this . currentCaretPosition ) ;
866
+ if ( renameInfo . canRename ) {
867
+ throw new Error ( "Rename was expected to fail" ) ;
868
+ }
869
+
870
+ this . validate ( "error" , message , renameInfo . localizedErrorMessage ) ;
871
+ }
872
+
835
873
//private getFormalParameter() {
836
874
// var help = this.languageService.getSignatureHelpItems(this.activeFile.fileName, this.currentCaretPosition);
837
875
// return help.formal;
0 commit comments