summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/rt/02_console.js2
-rw-r--r--cli/tests/unit/console_test.ts28
2 files changed, 28 insertions, 2 deletions
diff --git a/cli/rt/02_console.js b/cli/rt/02_console.js
index ae17d4199..0b5931616 100644
--- a/cli/rt/02_console.js
+++ b/cli/rt/02_console.js
@@ -414,7 +414,7 @@
case "undefined": // undefined is dim
return dim(String(value));
case "symbol": // Symbols are green
- return green(String(value));
+ return green(maybeQuoteSymbol(value));
case "bigint": // Bigints are yellow
return yellow(`${value}n`);
case "function": // Function string is cyan
diff --git a/cli/tests/unit/console_test.ts b/cli/tests/unit/console_test.ts
index 1163705a9..38bb852f0 100644
--- a/cli/tests/unit/console_test.ts
+++ b/cli/tests/unit/console_test.ts
@@ -106,6 +106,32 @@ unitTest(
);
assertEquals(
stringify(
+ [
+ Symbol(),
+ Symbol(""),
+ Symbol("foo\b"),
+ Symbol("foo\f"),
+ Symbol("foo\n"),
+ Symbol("foo\r"),
+ Symbol("foo\t"),
+ Symbol("foo\v"),
+ Symbol("foo\0"),
+ ],
+ ),
+ `[
+ Symbol(),
+ Symbol(""),
+ Symbol("foo\\b"),
+ Symbol("foo\\f"),
+ Symbol("foo\\n"),
+ Symbol("foo\\r"),
+ Symbol("foo\\t"),
+ Symbol("foo\\v"),
+ Symbol("foo\\x00")
+]`,
+ );
+ assertEquals(
+ stringify(
{ "foo\b": "bar\n", "bar\r": "baz\t", "qux\0": "qux\0" },
),
`{ "foo\\b": "bar\\n", "bar\\r": "baz\\t", "qux\\x00": "qux\\x00" }`,
@@ -247,7 +273,7 @@ unitTest(function consoleTestStringifyCircular(): void {
);
assertEquals(stringify(new WeakSet()), "WeakSet { [items unknown] }");
assertEquals(stringify(new WeakMap()), "WeakMap { [items unknown] }");
- assertEquals(stringify(Symbol(1)), "Symbol(1)");
+ assertEquals(stringify(Symbol(1)), `Symbol("1")`);
assertEquals(stringify(null), "null");
assertEquals(stringify(undefined), "undefined");
assertEquals(stringify(new Extended()), "Extended { a: 1, b: 2 }");