Skip to content

Commit c40f02a

Browse files
committed
Merge pull request #817 from Microsoft/renameEnumMember
Fixes the name displayed in the rename dialog to be just symbol name instead of qualified path
2 parents 2de4ad0 + 61f776b commit c40f02a

File tree

5 files changed

+55
-10
lines changed

5 files changed

+55
-10
lines changed

src/harness/fourslash.ts

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -413,10 +413,14 @@ module FourSlash {
413413
}
414414

415415
private raiseError(message: string) {
416-
message = "Marker: " + currentTestState.lastKnownMarker + "\n" + message;
416+
message = this.messageAtLastKnownMarker(message);
417417
throw new Error(message);
418418
}
419419

420+
private messageAtLastKnownMarker(message: string) {
421+
return "Marker: " + currentTestState.lastKnownMarker + "\n" + message;
422+
}
423+
420424
private getDiagnostics(fileName: string): ts.Diagnostic[] {
421425
var syntacticErrors = this.languageService.getSyntacticDiagnostics(fileName);
422426
var semanticErrors = this.languageService.getSemanticDiagnostics(fileName);
@@ -778,29 +782,29 @@ module FourSlash {
778782

779783
if (negative) {
780784
if (expectedTypeName !== undefined) {
781-
assert.notEqual(actualQuickInfoMemberName, expectedTypeName, this.assertionMessage("quick info member name", actualQuickInfoMemberName, expectedTypeName));
785+
assert.notEqual(actualQuickInfoMemberName, expectedTypeName, this.messageAtLastKnownMarker("quick info member name"));
782786
}
783787
if (docComment != undefined) {
784-
assert.notEqual(actualQuickInfoDocComment, docComment, this.assertionMessage("quick info doc comment", actualQuickInfoDocComment, docComment));
788+
assert.notEqual(actualQuickInfoDocComment, docComment, this.messageAtLastKnownMarker("quick info doc comment"));
785789
}
786790
if (symbolName !== undefined) {
787-
assert.notEqual(actualQuickInfoSymbolName, symbolName, this.assertionMessage("quick info symbol name", actualQuickInfoSymbolName, symbolName));
791+
assert.notEqual(actualQuickInfoSymbolName, symbolName, this.messageAtLastKnownMarker("quick info symbol name"));
788792
}
789793
if (kind !== undefined) {
790-
assert.notEqual(actualQuickInfoKind, kind, this.assertionMessage("quick info kind", actualQuickInfoKind, kind));
794+
assert.notEqual(actualQuickInfoKind, kind, this.messageAtLastKnownMarker("quick info kind"));
791795
}
792796
} else {
793797
if (expectedTypeName !== undefined) {
794-
assert.equal(actualQuickInfoMemberName, expectedTypeName, this.assertionMessage("quick info member", actualQuickInfoMemberName, expectedTypeName));
798+
assert.equal(actualQuickInfoMemberName, expectedTypeName, this.messageAtLastKnownMarker("quick info member"));
795799
}
796800
if (docComment != undefined) {
797-
assert.equal(actualQuickInfoDocComment, docComment, this.assertionMessage("quick info doc", actualQuickInfoDocComment, docComment));
801+
assert.equal(actualQuickInfoDocComment, docComment, this.messageAtLastKnownMarker("quick info doc"));
798802
}
799803
if (symbolName !== undefined) {
800-
assert.equal(actualQuickInfoSymbolName, symbolName, this.assertionMessage("quick info symbol name", actualQuickInfoSymbolName, symbolName));
804+
assert.equal(actualQuickInfoSymbolName, symbolName, this.messageAtLastKnownMarker("quick info symbol name"));
801805
}
802806
if (kind !== undefined) {
803-
assert.equal(actualQuickInfoKind, kind, this.assertionMessage("quick info kind", actualQuickInfoKind, kind));
807+
assert.equal(actualQuickInfoKind, kind, this.messageAtLastKnownMarker("quick info kind"));
804808
}
805809
}
806810
}
@@ -1480,6 +1484,21 @@ module FourSlash {
14801484
}
14811485
}
14821486

1487+
public verifyDefinitionsName(negative: boolean, expectedName: string, expectedContainerName: string) {
1488+
this.taoInvalidReason = 'verifyDefinititionsInfo NYI';
1489+
1490+
var definitions = this.languageService.getDefinitionAtPosition(this.activeFile.fileName, this.currentCaretPosition);
1491+
var actualDefinitionName = definitions && definitions.length ? definitions[0].name : "";
1492+
var actualDefinitionContainerName = definitions && definitions.length ? definitions[0].containerName : "";
1493+
if (negative) {
1494+
assert.notEqual(actualDefinitionName, expectedName, this.messageAtLastKnownMarker("Definition Info Name"));
1495+
assert.notEqual(actualDefinitionName, expectedName, this.messageAtLastKnownMarker("Definition Info Container Name"));
1496+
} else {
1497+
assert.equal(actualDefinitionName, expectedName, this.messageAtLastKnownMarker("Definition Info Name"));
1498+
assert.equal(actualDefinitionName, expectedName, this.messageAtLastKnownMarker("Definition Info Container Name"));
1499+
}
1500+
}
1501+
14831502
public getMarkers(): Marker[] {
14841503
// Return a copy of the list
14851504
return this.testData.markers.slice(0);

src/services/services.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2606,7 +2606,7 @@ module ts {
26062606
var result: DefinitionInfo[] = [];
26072607

26082608
var declarations = symbol.getDeclarations();
2609-
var symbolName = typeInfoResolver.symbolToString(symbol, node);
2609+
var symbolName = typeInfoResolver.symbolToString(symbol); // Do not get scoped name, just the name of the symbol
26102610
var symbolKind = getSymbolKind(symbol);
26112611
var containerSymbol = symbol.parent;
26122612
var containerName = containerSymbol ? typeInfoResolver.symbolToString(containerSymbol, node) : "";
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/// <reference path="fourslash.ts"/>
2+
3+
////enum e {
4+
//// firstMember,
5+
//// secondMember,
6+
//// thirdMember
7+
////}
8+
////var enumMember = e./*1*/thirdMember;
9+
10+
goTo.marker("1");
11+
verify.verifyDefinitionsName("thirdMember", "e");

tests/cases/fourslash/fourslash.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,10 @@ module FourSlashInterface {
237237
public definitionLocationExists() {
238238
FourSlash.currentTestState.verifyDefinitionLocationExists(this.negative);
239239
}
240+
241+
public verifyDefinitionsName(name: string, containerName: string) {
242+
FourSlash.currentTestState.verifyDefinitionsName(this.negative, name, containerName);
243+
}
240244
}
241245

242246
export class verify extends verifyNegatable {
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/// <reference path="fourslash.ts"/>
2+
3+
////enum e {
4+
//// firstMember,
5+
//// secondMember,
6+
//// thirdMember
7+
////}
8+
////var enumMember = e.[|/**/thirdMember|];
9+
10+
goTo.marker("");
11+
verify.renameInfoSucceeded("thirdMember", "e.thirdMember");

0 commit comments

Comments
 (0)