1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-12 02:27:46 -05:00
denoland-deno/cli/tests/unit/tty_test.ts
Bartek Iwańczuk ab0c33ebf8
feat: Stabilize Deno.consoleSize() API (#15933)
This commit stabilizes "Deno.consoleSize()" API. 

There is one change compared to previous unstable API,
in that the API doesn't accept any arguments. Console size
is established by querying syscalls for stdio streams at fd
0, 1 and 2.
2022-10-26 00:23:21 +02:00

32 lines
875 B
TypeScript

// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
import { assert } from "./test_util.ts";
// Note tests for Deno.stdin.setRaw is in integration tests.
Deno.test(function consoleSize() {
if (!Deno.isatty(Deno.stdout.rid)) {
return;
}
const result = Deno.consoleSize();
assert(typeof result.columns !== "undefined");
assert(typeof result.rows !== "undefined");
});
Deno.test({ permissions: { read: true } }, function isatty() {
// CI not under TTY, so cannot test stdin/stdout/stderr.
const f = Deno.openSync("cli/tests/testdata/assets/hello.txt");
assert(!Deno.isatty(f.rid));
f.close();
});
Deno.test(function isattyError() {
let caught = false;
try {
// Absurdly large rid.
Deno.isatty(0x7fffffff);
} catch (e) {
caught = true;
assert(e instanceof Deno.errors.BadResource);
}
assert(caught);
});