summaryrefslogtreecommitdiff
path: root/js/console_test.ts
diff options
context:
space:
mode:
authorbinaryta <naritatakuya0000@gmail.com>2019-01-25 03:24:39 +0900
committerRyan Dahl <ry@tinyclouds.org>2019-01-24 13:24:39 -0500
commit4a0a47dcdeccdda03028a2753872c614b468e23a (patch)
treeb19a02df402445b6105a653bd641dc95be33d9ad /js/console_test.ts
parent6904628aaa1c18e5438d0ec0564968094482b0c4 (diff)
Add console.clear() (#1562)
Diffstat (limited to 'js/console_test.ts')
-rw-r--r--js/console_test.ts24
1 files changed, 22 insertions, 2 deletions
diff --git a/js/console_test.ts b/js/console_test.ts
index 46a349784..e34e25d8f 100644
--- a/js/console_test.ts
+++ b/js/console_test.ts
@@ -1,5 +1,5 @@
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
-import { Console, libdeno, stringifyArgs, inspect } from "deno";
+import { Console, libdeno, stringifyArgs, inspect, write, stdout } from "deno";
import { test, assertEqual } from "./test_util.ts";
const console = new Console(libdeno.print);
@@ -116,7 +116,7 @@ test(function consoleTestStringifyCircular() {
assertEqual(
stringify(console),
// tslint:disable-next-line:max-line-length
- "Console { printFunc: [Function], log: [Function], debug: [Function], info: [Function], dir: [Function], warn: [Function], error: [Function], assert: [Function], count: [Function], countReset: [Function], time: [Function], timeLog: [Function], timeEnd: [Function], group: [Function], groupCollapsed: [Function], groupEnd: [Function], indentLevel: 0, collapsedAt: null }"
+ "Console { printFunc: [Function], log: [Function], debug: [Function], info: [Function], dir: [Function], warn: [Function], error: [Function], assert: [Function], count: [Function], countReset: [Function], time: [Function], timeLog: [Function], timeEnd: [Function], group: [Function], groupCollapsed: [Function], groupEnd: [Function], clear: [Function], indentLevel: 0, collapsedAt: null }"
);
// test inspect is working the same
assertEqual(inspect(nestedObj), nestedObjExpected);
@@ -249,6 +249,24 @@ test(function consoleTestError() {
}
});
+test(function consoleTestClear() {
+ const stdoutWrite = stdout.write;
+ const uint8 = new TextEncoder().encode("\x1b[1;1H" + "\x1b[0J");
+ let buffer = new Uint8Array(0);
+
+ stdout.write = async u8 => {
+ const tmp = new Uint8Array(buffer.length + u8.length);
+ tmp.set(buffer, 0);
+ tmp.set(u8, buffer.length);
+ buffer = tmp;
+
+ return await write(stdout.rid, u8);
+ };
+ console.clear();
+ stdout.write = stdoutWrite;
+ assertEqual(buffer, uint8);
+});
+
// Test bound this issue
test(function consoleDetachedLog() {
const log = console.log;
@@ -265,6 +283,7 @@ test(function consoleDetachedLog() {
const consoleTimeEnd = console.timeEnd;
const consoleGroup = console.group;
const consoleGroupEnd = console.groupEnd;
+ const consoleClear = console.clear;
log("Hello world");
dir("Hello world");
debug("Hello world");
@@ -279,4 +298,5 @@ test(function consoleDetachedLog() {
consoleTimeEnd("Hello world");
consoleGroup("Hello world");
consoleGroupEnd();
+ console.clear();
});