Skip to content

Commit c5c9083

Browse files
authored
Merge pull request #4520 from BZngr/4349_RenameClash_2
Fixes 4349...take two
2 parents 0994d59 + 1c38368 commit c5c9083

File tree

2 files changed

+49
-18
lines changed

2 files changed

+49
-18
lines changed

Rubberduck.Parsing/VBA/DeclarationCaching/DeclarationFinder.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1034,12 +1034,8 @@ public IEnumerable<Declaration> FindNewDeclarationNameConflicts(string newName,
10341034

10351035
if (IsEnumOrUDTMemberDeclaration(renameTarget))
10361036
{
1037-
var memberMatches = identifierMatches.Where(idm =>
1037+
return identifierMatches.Where(idm =>
10381038
IsEnumOrUDTMemberDeclaration(idm) && idm.ParentDeclaration == renameTarget.ParentDeclaration);
1039-
if (memberMatches.Any())
1040-
{
1041-
return memberMatches;
1042-
}
10431039
}
10441040

10451041
identifierMatches = identifierMatches.Where(nc => !IsEnumOrUDTMemberDeclaration(nc));

RubberduckTests/Refactoring/RenameTests.cs

Lines changed: 48 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2384,50 +2384,52 @@ End Sub
23842384
tdo.MsgBox.Verify(m => m.NotifyWarn(It.IsAny<string>(), It.IsAny<string>()), Times.Never);
23852385
}
23862386

2387+
//Issue: https://github.com/rubberduck-vba/Rubberduck/issues/4349
23872388
[Test]
23882389
[Category("Refactorings")]
23892390
[Category("Rename")]
2390-
public void RenameRefactoring_DoesNotWarnForUDTMember_Issue4349()
2391+
public void RenameRefactoring_DoesNotWarnForUDTMember()
23912392
{
2392-
var tdo = new RenameTestsDataObject(selection: "VS", newName: "verySatisfiedResponses");
2393+
var tdo = new RenameTestsDataObject(selection: "VS", newName: "VerySatisfiedResponses");
23932394
var inputOutput = new RenameTestModuleDefinition("Module1", ComponentType.StandardModule)
23942395
{
23952396
Input =
23962397
@"Private Type TMonthScoreInfo
2397-
verySatisfiedResponses As Long
2398+
VerySatisfiedResponses As Long
23982399
End Type
23992400
24002401
Private monthScoreInfo As TMonthScoreInfo
24012402
24022403
Public Property Get V|S() As Long
2403-
VS = monthScoreInfo.verySatisfiedResponses
2404+
VS = monthScoreInfo.VerySatisfiedResponses
24042405
End Property
24052406
Public Property Let VS(ByVal theVal As Long)
2406-
monthScoreInfo.verySatisfiedResponses = theVal
2407+
monthScoreInfo.VerySatisfiedResponses = theVal
24072408
End Property",
24082409
Expected =
24092410
@"Private Type TMonthScoreInfo
2410-
verySatisfiedResponses As Long
2411+
VerySatisfiedResponses As Long
24112412
End Type
24122413
24132414
Private monthScoreInfo As TMonthScoreInfo
24142415
2415-
Public Property Get verySatisfiedResponses() As Long
2416-
verySatisfiedResponses = monthScoreInfo.verySatisfiedResponses
2416+
Public Property Get VerySatisfiedResponses() As Long
2417+
VerySatisfiedResponses = monthScoreInfo.VerySatisfiedResponses
24172418
End Property
2418-
Public Property Let verySatisfiedResponses(ByVal theVal As Long)
2419-
monthScoreInfo.verySatisfiedResponses = theVal
2419+
Public Property Let VerySatisfiedResponses(ByVal theVal As Long)
2420+
monthScoreInfo.VerySatisfiedResponses = theVal
24202421
End Property"
24212422
};
24222423

24232424
PerformExpectedVersusActualRenameTests(tdo, inputOutput);
24242425
tdo.MsgBox.Verify(m => m.ConfirmYesNo(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<bool>()), Times.Never);
24252426
}
24262427

2428+
//Issue: https://github.com/rubberduck-vba/Rubberduck/issues/4349
24272429
[Test]
24282430
[Category("Refactorings")]
24292431
[Category("Rename")]
2430-
public void RenameRefactoring_DoesNotWarnForEnumMember_Issue4349()
2432+
public void RenameRefactoring_DoesNotWarnForEnumMember()
24312433
{
24322434
var tdo = new RenameTestsDataObject(selection: "VerySatisfiedID", newName: "VerySatisfiedResponse");
24332435
var inputOutput = new RenameTestModuleDefinition("Module1", ComponentType.StandardModule)
@@ -2439,7 +2441,7 @@ public void RenameRefactoring_DoesNotWarnForEnumMember_Issue4349()
24392441
End Enum
24402442
24412443
Public Property Get V|erySatisfiedID() As Long
2442-
VS = MonthScoreTypes.VerySatisfiedResponse
2444+
VerySatisfiedID = MonthScoreTypes.VerySatisfiedResponse
24432445
End Property",
24442446
Expected =
24452447
@"Private Enum MonthScoreTypes
@@ -2448,7 +2450,40 @@ End Enum
24482450
End Enum
24492451
24502452
Public Property Get VerySatisfiedResponse() As Long
2451-
VS = MonthScoreTypes.VerySatisfiedResponse
2453+
VerySatisfiedResponse = MonthScoreTypes.VerySatisfiedResponse
2454+
End Property",
2455+
};
2456+
2457+
PerformExpectedVersusActualRenameTests(tdo, inputOutput);
2458+
tdo.MsgBox.Verify(m => m.ConfirmYesNo(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<bool>()), Times.Never);
2459+
}
2460+
2461+
//Issue: https://github.com/rubberduck-vba/Rubberduck/issues/4349
2462+
[Test]
2463+
[Category("Refactorings")]
2464+
[Category("Rename")]
2465+
public void RenameRefactoring_DoesNotWarnForMember()
2466+
{
2467+
var tdo = new RenameTestsDataObject(selection: "VerySatisfiedResponse", newName: "VerySatisfiedID");
2468+
var inputOutput = new RenameTestModuleDefinition("Module1", ComponentType.StandardModule)
2469+
{
2470+
Input =
2471+
@"Private Enum MonthScoreTypes
2472+
VerySa|tisfiedResponse
2473+
VeryDissatisfiedResponse
2474+
End Enum
2475+
2476+
Public Property Get VerySatisfiedID() As Long
2477+
VerySatisfiedID = MonthScoreTypes.VerySatisfiedResponse
2478+
End Property",
2479+
Expected =
2480+
@"Private Enum MonthScoreTypes
2481+
VerySatisfiedID
2482+
VeryDissatisfiedResponse
2483+
End Enum
2484+
2485+
Public Property Get VerySatisfiedID() As Long
2486+
VerySatisfiedID = MonthScoreTypes.VerySatisfiedID
24522487
End Property",
24532488
};
24542489

0 commit comments

Comments
 (0)