summaryrefslogtreecommitdiff
path: root/tests/testdata/run/stdout_write_sync_async.ts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/testdata/run/stdout_write_sync_async.ts')
-rw-r--r--tests/testdata/run/stdout_write_sync_async.ts14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/testdata/run/stdout_write_sync_async.ts b/tests/testdata/run/stdout_write_sync_async.ts
new file mode 100644
index 000000000..648999d8a
--- /dev/null
+++ b/tests/testdata/run/stdout_write_sync_async.ts
@@ -0,0 +1,14 @@
+const encoder = new TextEncoder();
+const pending = [];
+
+for (let i = 0; i < 100; i++) {
+ // some code that will cause stdout to be written
+ // synchronously while the async write might be occurring
+ console.log("Hello");
+ pending.push(Deno.stdout.write(encoder.encode("Hello\n")));
+ if (i % 10) {
+ await new Promise((resolve) => setTimeout(resolve, 0));
+ }
+}
+
+await Promise.all(pending);