summaryrefslogtreecommitdiff
path: root/js/console_test.ts
diff options
context:
space:
mode:
authorKevin (Kun) "Kassimo" Qian <kevinkassimo@gmail.com>2019-08-17 09:51:51 -0700
committerRyan Dahl <ry@tinyclouds.org>2019-08-17 12:51:51 -0400
commit9acb17742fc2c7ee503e6b2be8f88b97dae65dc6 (patch)
tree0a25e25a8f7049a1c124fb7825ce43af6eafc582 /js/console_test.ts
parentde713e42c8807e3124c9b5d418a69d2ea3460058 (diff)
Implement console.trace() (#2780)
groupCollapsed alias to group, remove noTrailingNewline, move newline out of stringifyArgs, fix console.dir, add tests, and fix a repl log quirk. For repl logging quirks, I believe we should not indent repl logging. If we really want such indentation, we probably also want to indent "> " prompts.
Diffstat (limited to 'js/console_test.ts')
-rw-r--r--js/console_test.ts63
1 files changed, 36 insertions, 27 deletions
diff --git a/js/console_test.ts b/js/console_test.ts
index e7cc360bc..8070ee0f0 100644
--- a/js/console_test.ts
+++ b/js/console_test.ts
@@ -143,7 +143,7 @@ test(function consoleTestStringifyCircular(): void {
assertEquals(stringify(JSON), "{}");
assertEquals(
stringify(console),
- "{ printFunc, log, debug, info, dir, warn, error, assert, count, countReset, table, time, timeLog, timeEnd, group, groupCollapsed, groupEnd, clear, indentLevel, collapsedAt }"
+ "{ printFunc, log, debug, info, dir, warn, error, assert, count, countReset, table, time, timeLog, timeEnd, group, groupCollapsed, groupEnd, clear, trace, indentLevel }"
);
// test inspect is working the same
assertEquals(inspect(nestedObj), nestedObjExpected);
@@ -155,16 +155,16 @@ test(function consoleTestStringifyWithDepth(): void {
const nestedObj: any = { a: { b: { c: { d: { e: { f: 42 } } } } } };
assertEquals(
stringifyArgs([nestedObj], { depth: 3 }),
- "{ a: { b: { c: [Object] } } }\n"
+ "{ a: { b: { c: [Object] } } }"
);
assertEquals(
stringifyArgs([nestedObj], { depth: 4 }),
- "{ a: { b: { c: { d: [Object] } } } }\n"
+ "{ a: { b: { c: { d: [Object] } } } }"
);
- assertEquals(stringifyArgs([nestedObj], { depth: 0 }), "[Object]\n");
+ assertEquals(stringifyArgs([nestedObj], { depth: 0 }), "[Object]");
assertEquals(
stringifyArgs([nestedObj], { depth: null }),
- "{ a: { b: { c: { d: [Object] } } } }\n"
+ "{ a: { b: { c: { d: [Object] } } } }"
);
// test inspect is working the same way
assertEquals(
@@ -378,15 +378,8 @@ test(function consoleGroup(): void {
console.log("4");
console.groupEnd();
console.groupEnd();
-
- console.groupCollapsed("5");
+ console.log("5");
console.log("6");
- console.group("7");
- console.log("8");
- console.groupEnd();
- console.groupEnd();
- console.log("9");
- console.log("10");
assertEquals(
out.toString(),
@@ -394,9 +387,8 @@ test(function consoleGroup(): void {
2
3
4
-5678
-9
-10
+5
+6
`
);
}
@@ -417,16 +409,8 @@ test(function consoleGroupWarn(): void {
console.groupEnd();
console.warn("5");
- console.groupCollapsed();
console.warn("6");
- console.group();
console.warn("7");
- console.groupEnd();
- console.warn("8");
- console.groupEnd();
-
- console.warn("9");
- console.warn("10");
assertEquals(
both.toString(),
`1
@@ -434,9 +418,8 @@ test(function consoleGroupWarn(): void {
3
4
5
-678
-9
-10
+6
+7
`
);
}
@@ -652,3 +635,29 @@ test(function consoleLogShouldNotThrowError(): void {
}
);
});
+
+// console.dir test
+test(function consoleDir(): void {
+ mockConsole(
+ (console, out): void => {
+ console.dir("DIR");
+ assertEquals(out.toString(), "DIR\n");
+ }
+ );
+ mockConsole(
+ (console, out): void => {
+ console.dir("DIR", { indentLevel: 2 });
+ assertEquals(out.toString(), " DIR\n");
+ }
+ );
+});
+
+// console.trace test
+test(function consoleTrace(): void {
+ mockConsole(
+ (console, _out, err): void => {
+ console.trace("%s", "custom message");
+ assert(err.toString().includes("Trace: custom message"));
+ }
+ );
+});