summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/tests/unit/console_test.ts31
1 files changed, 23 insertions, 8 deletions
diff --git a/cli/tests/unit/console_test.ts b/cli/tests/unit/console_test.ts
index 539c717be..af42a655b 100644
--- a/cli/tests/unit/console_test.ts
+++ b/cli/tests/unit/console_test.ts
@@ -225,7 +225,7 @@ Deno.test(function consoleTestStringifyCircular() {
};
nestedObj.o = circularObj;
- const nestedObjExpected = `{
+ const nestedObjExpected = `<ref *1> {
num: 1,
bool: true,
str: "a",
@@ -245,9 +245,9 @@ Deno.test(function consoleTestStringifyCircular() {
method: [Function: method],
un: undefined,
nu: null,
- nested: [Circular],
+ nested: [Circular *1],
emptyObj: {},
- arr: [ 1, "s", false, null, [Circular] ],
+ arr: [ 1, "s", false, null, [Circular *1] ],
baseClass: Base { a: 1 }
}
}`;
@@ -350,12 +350,23 @@ Deno.test(function consoleTestStringifyCircular() {
return Deno.inspect(this);
},
}),
- "[Circular]",
+ "[Circular *1]",
);
// test inspect is working the same
assertEquals(stripColor(Deno.inspect(nestedObj)), nestedObjExpected);
});
+Deno.test(function consoleTestStringifyMultipleCircular() {
+ const y = { a: { b: {} }, foo: { bar: {} } };
+ y.a.b = y.a;
+ y.foo.bar = y.foo;
+ console.log(y);
+ assertEquals(
+ stringify(y),
+ "{ a: <ref *1> { b: [Circular *1] }, foo: <ref *2> { bar: [Circular *2] } }",
+ );
+});
+
Deno.test(function consoleTestStringifyFunctionWithPrototypeRemoved() {
const f = function f() {};
Reflect.setPrototypeOf(f, null);
@@ -392,14 +403,14 @@ Deno.test(function consoleTestStringifyFunctionWithProperties() {
assertEquals(
stringify({ f }),
`{
- f: [Function: f] {
+ f: <ref *1> [Function: f] {
x: [Function],
y: 3,
z: [Function],
b: [Function: bar],
a: Map {},
- s: [Circular],
- t: [Function: t] { x: [Circular] }
+ s: [Circular *1],
+ t: [Function: t] { x: [Circular *1] }
}
}`,
);
@@ -1864,12 +1875,16 @@ Deno.test(function inspectErrorCircular() {
);
assertStringIncludes(
stripColor(Deno.inspect(error2)),
- "Error: This is an error",
+ "<ref *1> Error: This is an error",
);
assertStringIncludes(
stripColor(Deno.inspect(error2)),
"Caused by Error: This is a cause error",
);
+ assertStringIncludes(
+ stripColor(Deno.inspect(error2)),
+ "Caused by [Circular *1]",
+ );
});
Deno.test(function inspectColors() {