Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }