public async Task GetTagHelpersAsync_OperationCanceledException_DoesNotGetWrapped()
        {
            // Arrange
            ProjectManager.ProjectAdded(HostProject_For_2_0);

            var projectSnapshot = ProjectManager.GetLoadedProject("Test.csproj");

            var cancellationToken = new CancellationToken(canceled: true);
            var resolver          = new TestTagHelperResolver(EngineFactory, ErrorReporter, Workspace)
            {
                OnResolveInProcess = (p) =>
                {
                    Assert.Same(projectSnapshot, p);

                    return(Task.FromResult(TagHelperResolutionResult.Empty));
                },
                OnResolveOutOfProcess = (f, p) =>
                {
                    Assert.Same(projectSnapshot, p);

                    throw new OperationCanceledException();
                }
            };

            await Assert.ThrowsAsync <OperationCanceledException>(async() => await resolver.GetTagHelpersAsync(WorkspaceProject, projectSnapshot, cancellationToken));
        }
示例#2
0
        public async Task GetTagHelpersAsync_WithNonInitializedProject_Noops()
        {
            // Arrange
            ProjectManager.HostProjectAdded(HostProject_For_2_0);

            var project = ProjectManager.GetProjectWithFilePath("Test.csproj");

            var resolver = new TestTagHelperResolver(EngineFactory, ErrorReporter, Workspace);

            var result = await resolver.GetTagHelpersAsync(project);

            // Assert
            Assert.Same(TagHelperResolutionResult.Empty, result);
        }
        public async Task GetTagHelpersAsync_WithNonSerializableCustomFactory_StaysInProcess()
        {
            // Arrange
            ProjectManager.ProjectAdded(HostProject_For_NonSerializableConfiguration);

            var projectSnapshot = ProjectManager.GetLoadedProject("Test.csproj");

            var resolver = new TestTagHelperResolver(EngineFactory, ErrorReporter, Workspace)
            {
                OnResolveInProcess = (p) =>
                {
                    Assert.Same(projectSnapshot, p);

                    return(Task.FromResult(TagHelperResolutionResult.Empty));
                },
            };

            var result = await resolver.GetTagHelpersAsync(WorkspaceProject, projectSnapshot);

            // Assert
            Assert.Same(TagHelperResolutionResult.Empty, result);
        }
        public async Task GetTagHelpersAsync_WithSerializableCustomFactory_GoesOutOfProcess()
        {
            // Arrange
            ProjectManager.ProjectAdded(HostProject_For_2_0);

            var projectSnapshot = ProjectManager.GetLoadedProject("Test.csproj");

            var resolver = new TestTagHelperResolver(EngineFactory, ErrorReporter, Workspace)
            {
                OnResolveOutOfProcess = (f, p) =>
                {
                    Assert.Same(CustomFactories[0].Value, f);
                    Assert.Same(projectSnapshot, p);

                    return(Task.FromResult(TagHelperResolutionResult.Empty));
                },
            };

            var result = await resolver.GetTagHelpersAsync(WorkspaceProject, projectSnapshot);

            // Assert
            Assert.Same(TagHelperResolutionResult.Empty, result);
        }