Ejemplo n.º 1
0
        public async Task DocumentProcessed_NoActiveDocument_UnknownProject_Noops()
        {
            // Arrange
            var project            = CreateProjectSnapshot("/path/to/unknownproject.csproj", new[] { "/path/to/Counter.razor" });
            var document           = project.GetDocument("/path/to/Counter.razor");
            var originalSolution   = Workspace.CurrentSolution;
            var processedPublisher = new BackgroundDocumentProcessedPublisher(Dispatcher, Workspace, LoggerFactory);

            // Act
            await RunOnForegroundAsync(() => processedPublisher.DocumentProcessed(document));

            // Assert
            Assert.Same(originalSolution, Workspace.CurrentSolution);
        }
Ejemplo n.º 2
0
        public async Task DocumentProcessed_CSHTML_Noops()
        {
            // Arrange
            var project            = CreateProjectSnapshot(Project.FilePath, new[] { "/path/to/file.cshtml" });
            var document           = project.GetDocument("/path/to/file.cshtml");
            var originalSolution   = Workspace.CurrentSolution;
            var processedPublisher = new BackgroundDocumentProcessedPublisher(Dispatcher, Workspace, LoggerFactory);

            // Act
            await RunOnForegroundAsync(() => processedPublisher.DocumentProcessed(document));

            // Assert
            Assert.Same(originalSolution, Workspace.CurrentSolution);
        }
        public async Task DocumentProcessed_Import_Noops()
        {
            // Arrange
            var project            = CreateProjectSnapshot(Project.FilePath, new[] { "/path/to/_Imports.razor" });
            var document           = project.GetDocument("/path/to/_Imports.razor");
            var originalSolution   = Workspace.CurrentSolution;
            var processedPublisher = new BackgroundDocumentProcessedPublisher(Dispatcher, Workspace, LoggerFactory);

            // Act
            await RunOnDispatcherThreadAsync(() => processedPublisher.DocumentProcessed(document)).ConfigureAwait(false);

            // Assert
            Assert.Same(originalSolution, Workspace.CurrentSolution);
        }
Ejemplo n.º 4
0
        public async Task DocumentProcessed_NoActiveDocument_AddsDocument()
        {
            // Arrange
            var projectSnapshot    = CreateProjectSnapshot(Project.FilePath, new[] { "/path/to/Counter.razor" });
            var document           = projectSnapshot.GetDocument("/path/to/Counter.razor");
            var processedPublisher = new BackgroundDocumentProcessedPublisher(Dispatcher, Workspace, LoggerFactory);

            // Act
            await RunOnForegroundAsync(() => processedPublisher.DocumentProcessed(document));

            // Assert
            var project = Assert.Single(Workspace.CurrentSolution.Projects);

            Assert.Contains(project.Documents, roslynDocument => roslynDocument.FilePath.StartsWith(document.FilePath));
        }
        public async Task DocumentProcessed_NoActiveDocument_AddsCSHTMLDocument()
        {
            // Arrange
            var projectSnapshot    = CreateProjectSnapshot(Project.FilePath, new[] { "/path/to/Index.cshtml" });
            var document           = projectSnapshot.GetDocument("/path/to/Index.cshtml");
            var processedPublisher = new BackgroundDocumentProcessedPublisher(Dispatcher, Workspace, LoggerFactory);

            // Act
            await RunOnDispatcherThreadAsync(() => processedPublisher.DocumentProcessed(document)).ConfigureAwait(false);

            // Assert
            var project = Assert.Single(Workspace.CurrentSolution.Projects);

            Assert.Contains(project.Documents, roslynDocument => roslynDocument.FilePath.StartsWith(document.FilePath, StringComparison.Ordinal));
        }
Ejemplo n.º 6
0
        public async Task DocumentProcessed_NoActiveDocument_ExistingBGDoc_UpdatesDocument()
        {
            // Arrange
            var project  = CreateProjectSnapshot(Project.FilePath, new[] { "/path/to/Counter.razor" });
            var document = project.GetDocument("/path/to/Counter.razor");
            var backgroundDocumentFilePath = document.FilePath + BackgroundDocumentProcessedPublisher.BackgroundVirtualDocumentSuffix;
            var currentDocument            = AddRoslynDocument(backgroundDocumentFilePath);
            var processedPublisher         = new BackgroundDocumentProcessedPublisher(Dispatcher, Workspace, LoggerFactory);

            // Act
            await RunOnForegroundAsync(() => processedPublisher.DocumentProcessed(document));

            // Assert
            var afterProcessedDocument = Workspace.GetDocument(backgroundDocumentFilePath);

            Assert.NotSame(currentDocument, afterProcessedDocument);
        }
Ejemplo n.º 7
0
        public async Task DocumentProcessed_WorkspaceHasActiveDocument_Noops()
        {
            // Arrange
            var project  = CreateProjectSnapshot(Project.FilePath, new[] { "/path/to/Counter.razor" });
            var document = project.GetDocument("/path/to/Counter.razor");
            var activeDocumentFilePath = document.FilePath + BackgroundDocumentProcessedPublisher.ActiveVirtualDocumentSuffix;

            AddRoslynDocument(activeDocumentFilePath);
            var originalSolution   = Workspace.CurrentSolution;
            var processedPublisher = new BackgroundDocumentProcessedPublisher(Dispatcher, Workspace, LoggerFactory);

            // Act
            await RunOnForegroundAsync(() => processedPublisher.DocumentProcessed(document));

            // Assert
            Assert.Same(originalSolution, Workspace.CurrentSolution);
        }