diff options
Diffstat (limited to 'test/js/node/util/node-inspect-tests/internal-inspect.test.js')
-rw-r--r-- | test/js/node/util/node-inspect-tests/internal-inspect.test.js | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/test/js/node/util/node-inspect-tests/internal-inspect.test.js b/test/js/node/util/node-inspect-tests/internal-inspect.test.js new file mode 100644 index 000000000..6e7a76e0d --- /dev/null +++ b/test/js/node/util/node-inspect-tests/internal-inspect.test.js @@ -0,0 +1,57 @@ +import assert from "assert"; +import util from "util"; + +test("no assertion failures", () => { + // Errors in accessors are not triggered + const obj = new Proxy( + { x: 5 }, + { + get() { + throw new Error("Error message"); + }, + }, + ); + assert.strictEqual(util.format(obj), "{ x: 5 }"); + + assert.strictEqual(util.formatWithOptions({ numericSeparator: true }, "%d", 4000), "4_000"); + + const a = {}; + a.b = a; + assert.strictEqual(util.inspect(a, { compact: false }), "<ref *1> {\n b: [Circular *1]\n}"); + assert.strictEqual(util.inspect(a, { compact: true }), "<ref *1> { b: [Circular *1] }"); + + const cause = new Error("cause"); + const e2 = new Error("wrapper", { cause }); + assert.match(util.inspect(e2), /\[cause\]: Error: cause\n/); +}); + +//! non-standard property, should this be kept? +test.skip("util.stylizeWithHTML", () => { + assert.strictEqual( + util.inspect( + { + a: 1, + b: "<p>\xA0\u{1F4A9}</p>", + "<": NaN, + [Symbol("<br>")]: false, + buf: new Uint8Array([1, 2, 3, 4]), + }, + { + compact: false, + stylize: util.stylizeWithHTML, + }, + ), + "{\n" + + ' a: <span style="color:yellow;">1</span>,\n' + + ' b: <span style="color:green;">'<p> \u{1F4A9}</p>'</span>,\n' + + ' <span style="color:green;">'&lt;'</span>: <span style="color:yellow;">NaN</span>,\n' + + " buf: Uint8Array(4) [\n" + + ' <span style="color:yellow;">1</span>,\n' + + ' <span style="color:yellow;">2</span>,\n' + + ' <span style="color:yellow;">3</span>,\n' + + ' <span style="color:yellow;">4</span>\n' + + " ],\n" + + ' [<span style="color:green;">Symbol(<br>)</span>]: <span style="color:yellow;">false</span>\n' + + "}", + ); +}); |