Skip to content

Commit c8f57ff

Browse files
authored
Verify StringBuilder and MemoryStream writing is synchronous (#276)
1 parent f12a770 commit c8f57ff

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

src/GraphQLParser.Tests/Visitors/SDLPrinterTests.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System.Text;
12
using GraphQLParser.Visitors;
23

34
namespace GraphQLParser.Tests.Visitors;
@@ -750,6 +751,26 @@ public async Task Directive_Without_Parent_Should_Be_Printed()
750751
writer.ToString().ShouldBe("@upper");
751752
}
752753

754+
[Fact]
755+
public void StringBuilder_Runs_Synchronously()
756+
{
757+
var document = "KitchenSink".ReadGraphQLFile().Parse();
758+
var sb = new StringBuilder();
759+
using var writer = new StringWriter(sb);
760+
var printer = new SDLPrinter();
761+
printer.PrintAsync(document, writer).IsCompletedSuccessfully.ShouldBeTrue();
762+
}
763+
764+
[Fact]
765+
public void UTF8_MemoryStream_Runs_Synchronously()
766+
{
767+
var document = "KitchenSink".ReadGraphQLFile().Parse();
768+
using var ms = new MemoryStream();
769+
using var writer = new StreamWriter(ms);
770+
var printer = new SDLPrinter();
771+
printer.PrintAsync(document, writer).IsCompletedSuccessfully.ShouldBeTrue();
772+
}
773+
753774
[Theory]
754775
[InlineData("query a { name }")]
755776
[InlineData("directive @skip(if: Boolean!) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT")]

0 commit comments

Comments
 (0)