diff --git a/src/GraphQLParser.Tests/Visitors/ASTVisitorTests.cs b/src/GraphQLParser.Tests/Visitors/ASTVisitorTests.cs index 339c6106..2631c003 100644 --- a/src/GraphQLParser.Tests/Visitors/ASTVisitorTests.cs +++ b/src/GraphQLParser.Tests/Visitors/ASTVisitorTests.cs @@ -33,12 +33,13 @@ public void ASTVisitor_Should_Throw_On_Unknown_Node() } [Fact] - public void ASTVisitor_Should_Respect_CancellationToken() + public void ASTVisitor_Should_Pass_CancellationToken() { var document = "scalar JSON".Parse(); var visitor = new MyVisitor(); using var cts = new CancellationTokenSource(500); var context = new Context { CancellationToken = cts.Token }; + context.CancellationToken.ThrowIfCancellationRequested(); Should.Throw(() => visitor.VisitAsync(document, context).GetAwaiter().GetResult()); } @@ -48,6 +49,7 @@ private class MyVisitor : ASTVisitor protected override async ValueTask VisitScalarTypeDefinitionAsync(GraphQLScalarTypeDefinition scalarTypeDefinition, Context context) { await Task.Delay(700); + context.CancellationToken.ThrowIfCancellationRequested(); await base.VisitScalarTypeDefinitionAsync(scalarTypeDefinition, context); } } diff --git a/src/GraphQLParser/Visitors/ASTVisitor.cs b/src/GraphQLParser/Visitors/ASTVisitor.cs index c6dc492c..c389e5e8 100644 --- a/src/GraphQLParser/Visitors/ASTVisitor.cs +++ b/src/GraphQLParser/Visitors/ASTVisitor.cs @@ -595,8 +595,6 @@ protected virtual async ValueTask VisitInputObjectTypeExtensionAsync(GraphQLInpu /// Context passed into all INodeVisitor.VisitXXX methods. public virtual ValueTask VisitAsync(ASTNode? node, TContext context) { - context.CancellationToken.ThrowIfCancellationRequested(); - return node == null ? default : node switch