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)); }
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); }