summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/node/polyfills/tty.js5
-rw-r--r--tests/unit_node/tty_test.ts4
2 files changed, 8 insertions, 1 deletions
diff --git a/ext/node/polyfills/tty.js b/ext/node/polyfills/tty.js
index 2e8ecc8e1..e906c5f67 100644
--- a/ext/node/polyfills/tty.js
+++ b/ext/node/polyfills/tty.js
@@ -113,7 +113,10 @@ export class WriteStream extends Socket {
* @returns {boolean}
*/
hasColors(count, env) {
- if (env === undefined && typeof count === "object") {
+ if (
+ env === undefined &&
+ (count === undefined || typeof count === "object" && count !== null)
+ ) {
env = count;
count = 16;
}
diff --git a/tests/unit_node/tty_test.ts b/tests/unit_node/tty_test.ts
index ab3193f4a..7f0395682 100644
--- a/tests/unit_node/tty_test.ts
+++ b/tests/unit_node/tty_test.ts
@@ -38,6 +38,10 @@ Deno.test("[node/tty WriteStream.isTTY] returns true when fd is a tty", () => {
Deno.test("[node/tty WriteStream.hasColors] returns true when colors are supported", () => {
assert(tty.WriteStream.prototype.hasColors() === !Deno.noColor);
+ assert(tty.WriteStream.prototype.hasColors({}) === !Deno.noColor);
+
+ assert(tty.WriteStream.prototype.hasColors(1));
+ assert(tty.WriteStream.prototype.hasColors(1, {}));
});
Deno.test("[node/tty WriteStream.getColorDepth] returns current terminal color depth", () => {