mirror of https://github.com/nodejs/node.git
test: check null proto-of-proto in util.inspect()
Add a test to check util.inspect()'s handling of a null prototype-of-an-iterable-prototype. This covers a previously uncovered code branch. Refs: https://coverage.nodejs.org/coverage-0fd121e00c9d5987/lib/internal/util/inspect.js.html#L597 PR-URL: https://github.com/nodejs/node/pull/36399 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>pull/36399/head
parent
a45f622413
commit
7a39d892d6
|
@ -3011,3 +3011,35 @@ assert.strictEqual(
|
|||
'}'
|
||||
);
|
||||
}
|
||||
|
||||
{
|
||||
// Confirm null prototype of generator prototype displays as expected.
|
||||
|
||||
function getProtoOfProto() {
|
||||
return Object.getPrototypeOf(Object.getPrototypeOf(function* () {}));
|
||||
}
|
||||
|
||||
function* generator() {}
|
||||
|
||||
const generatorPrototype = Object.getPrototypeOf(generator);
|
||||
const originalProtoOfProto = Object.getPrototypeOf(generatorPrototype);
|
||||
assert.strictEqual(getProtoOfProto(), originalProtoOfProto);
|
||||
Object.setPrototypeOf(generatorPrototype, null);
|
||||
assert.notStrictEqual(getProtoOfProto, originalProtoOfProto);
|
||||
|
||||
// This is the actual test. The other assertions in this block are about
|
||||
// making sure the test is set up correctly and isn't polluting other tests.
|
||||
assert.strictEqual(
|
||||
util.inspect(generator, { showHidden: true }),
|
||||
'[GeneratorFunction: generator] {\n' +
|
||||
' [length]: 0,\n' +
|
||||
" [name]: 'generator',\n" +
|
||||
" [prototype]: Object [Generator] { [Symbol(Symbol.toStringTag)]: 'Generator' },\n" + // eslint-disable-line max-len
|
||||
" [Symbol(Symbol.toStringTag)]: 'GeneratorFunction'\n" +
|
||||
'}'
|
||||
);
|
||||
|
||||
// Reset so we don't pollute other tests
|
||||
Object.setPrototypeOf(generatorPrototype, originalProtoOfProto);
|
||||
assert.strictEqual(getProtoOfProto(), originalProtoOfProto);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue