public void WorkspaceChanged_ActiveDocument_RemovesBackgroundDocument() { // Arrange var originalSolution = Workspace.CurrentSolution; var filePath = "/path/to/Counter.razor"; var backgroundDocumentFilePath = filePath + BackgroundDocumentProcessedPublisher.BackgroundVirtualDocumentSuffix; var backgroundDocument = AddRoslynDocument(backgroundDocumentFilePath); var activeDocument = AddRoslynDocument(filePath + BackgroundDocumentProcessedPublisher.ActiveVirtualDocumentSuffix); var newSolution = Workspace.CurrentSolution; var workspaceChangeEventArgs = new WorkspaceChangeEventArgs( WorkspaceChangeKind.DocumentChanged, originalSolution, newSolution, activeDocument.Project.Id, activeDocument.Id); var processedPublisher = new BackgroundDocumentProcessedPublisher(Dispatcher, Workspace, LoggerFactory); // Act processedPublisher.Workspace_WorkspaceChanged(sender: null, workspaceChangeEventArgs); // Assert Assert.NotSame(newSolution, Workspace.CurrentSolution); var currentBackgroundDocument = Workspace.CurrentSolution.GetDocument(backgroundDocument.Id); Assert.Null(currentBackgroundDocument); }
public void WorkspaceChanged_ActiveDocument_NoBackgroundDocument_Noops() { // Arrange var originalSolution = Workspace.CurrentSolution; var addedDocument = AddRoslynDocument("/path/to/Counter.razor" + BackgroundDocumentProcessedPublisher.ActiveVirtualDocumentSuffix); var newSolution = Workspace.CurrentSolution; var workspaceChangeEventArgs = new WorkspaceChangeEventArgs( WorkspaceChangeKind.DocumentChanged, originalSolution, newSolution, addedDocument.Project.Id, addedDocument.Id); var processedPublisher = new BackgroundDocumentProcessedPublisher(Dispatcher, Workspace, LoggerFactory); // Act processedPublisher.Workspace_WorkspaceChanged(sender: null, workspaceChangeEventArgs); // Assert Assert.Same(newSolution, Workspace.CurrentSolution); }
public void WorkspaceChanged_DocumentChanged_NoFilePathRoslynDocument_Noops() { // Arrange var originalSolution = Workspace.CurrentSolution; var addedDocument = AddRoslynDocument(filePath: null); var newSolution = Workspace.CurrentSolution; var workspaceChangeEventArgs = new WorkspaceChangeEventArgs( WorkspaceChangeKind.DocumentChanged, originalSolution, newSolution, addedDocument.Project.Id, addedDocument.Id); var processedPublisher = new BackgroundDocumentProcessedPublisher(Dispatcher, Workspace, LoggerFactory); // Act processedPublisher.Workspace_WorkspaceChanged(sender: null, workspaceChangeEventArgs); // Assert Assert.Same(newSolution, Workspace.CurrentSolution); }