summaryrefslogtreecommitdiff
path: root/cli/tests/testdata/run/stdout_write_sync_async.ts
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2022-09-04 22:33:06 -0400
committerGitHub <noreply@github.com>2022-09-04 22:33:06 -0400
commit08a6af398fd92517193e20117f9971c272b1bb5f (patch)
tree825f8499992bb7a6c227485165b06811d5e46359 /cli/tests/testdata/run/stdout_write_sync_async.ts
parentb0a671df8e2796a30fea4fab06018abee738c8ac (diff)
fix(cli): allow using file resource synchronously while being used async (#15747)
Diffstat (limited to 'cli/tests/testdata/run/stdout_write_sync_async.ts')
-rw-r--r--cli/tests/testdata/run/stdout_write_sync_async.ts14
1 files changed, 14 insertions, 0 deletions
diff --git a/cli/tests/testdata/run/stdout_write_sync_async.ts b/cli/tests/testdata/run/stdout_write_sync_async.ts
new file mode 100644
index 000000000..648999d8a
--- /dev/null
+++ b/cli/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);