diff --git a/src/VisualStudio/IntegrationTest/IntegrationTests/Workspace/WorkspaceBase.cs b/src/VisualStudio/IntegrationTest/IntegrationTests/Workspace/WorkspaceBase.cs index 566460b6d0deeb303b42dd272b6bf39bc7d1beaa..0e256cb38070a174a3a8643f86f7aa574a13cbaf 100644 --- a/src/VisualStudio/IntegrationTest/IntegrationTests/Workspace/WorkspaceBase.cs +++ b/src/VisualStudio/IntegrationTest/IntegrationTests/Workspace/WorkspaceBase.cs @@ -87,5 +87,20 @@ End Sub VisualStudio.Editor.InvokeQuickInfo(); Assert.Equal("Sub‎ Program.M‎(p‎ As‎ Object‎)‎ ‎(‎+‎ 1‎ overload‎)", VisualStudio.Editor.GetQuickInfo()); } + + [Fact] + public void RenamingOpenFiles() + { + var project = new ProjectUtils.Project(ProjectName); + VisualStudio.SolutionExplorer.AddFile(project, "BeforeRename.cs", open: true); + + // Verify we are connected to the project before... + Assert.Contains(ProjectName, VisualStudio.Editor.GetProjectNavBarItems()); + + VisualStudio.SolutionExplorer.RenameFile(project, "BeforeRename.cs", "AfterRename.cs"); + + // ...and after. + Assert.Contains(ProjectName, VisualStudio.Editor.GetProjectNavBarItems()); + } } } diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/SolutionExplorer_InProc.cs b/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/SolutionExplorer_InProc.cs index 96a69dcad6bdcbf0e970b97d9317cf59053a187f..28402316668a57b187d8bd768b1fcd82f69a9b7b 100644 --- a/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/SolutionExplorer_InProc.cs +++ b/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/SolutionExplorer_InProc.cs @@ -120,6 +120,13 @@ public string[] GetAssemblyReferences(string projectName) return references; } + public void RenameFile(string projectName, string oldFileName, string newFileName) + { + var projectItem = GetProjectItem(projectName, oldFileName); + + projectItem.Name = newFileName; + } + public void EditProjectFile(string projectName) { var solutionExplorer = ((DTE2)GetDTE()).ToolWindows.SolutionExplorer; diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/SolutionExplorer_OutOfProc.cs b/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/SolutionExplorer_OutOfProc.cs index e3e29623b9f53bda070bb6091b99df51d4935c02..440cc284a9f9ecc3fde9c0fb5498efef80a48855 100644 --- a/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/SolutionExplorer_OutOfProc.cs +++ b/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/SolutionExplorer_OutOfProc.cs @@ -90,6 +90,9 @@ public void OpenFileWithDesigner(ProjectUtils.Project project, string fileName) public void OpenFile(ProjectUtils.Project project, string fileName) => _inProc.OpenFile(project.Name, fileName); + public void RenameFile(ProjectUtils.Project project, string oldFileName, string newFileName) + => _inProc.RenameFile(project.Name, oldFileName, newFileName); + public void CloseFile(ProjectUtils.Project project, string fileName, bool saveFile) => _inProc.CloseFile(project.Name, fileName, saveFile);