diff options
Diffstat (limited to 'cli/tests/raw_mode.ts')
-rw-r--r-- | cli/tests/raw_mode.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/cli/tests/raw_mode.ts b/cli/tests/raw_mode.ts new file mode 100644 index 000000000..125601b2b --- /dev/null +++ b/cli/tests/raw_mode.ts @@ -0,0 +1,18 @@ +Deno.setRaw(0, true); +Deno.setRaw(0, true); // Can be called multiple times + +Deno.stdout.writeSync(new TextEncoder().encode("S")); + +const buf = new Uint8Array(3); +for (let i = 0; i < 3; i++) { + const nread = await Deno.stdin.read(buf); + if (nread === Deno.EOF) { + break; + } else { + const data = new TextDecoder().decode(buf.subarray(0, nread)); + Deno.stdout.writeSync(new TextEncoder().encode(data.toUpperCase())); + } +} + +Deno.setRaw(0, false); // restores old mode. +Deno.setRaw(0, false); // Can be safely called multiple times |