lib: update inspect output format for subclasses · nodejs/node@396cc8e

@@ -1415,11 +1415,11 @@ if (typeof Symbol !== 'undefined') {

14151415

assert.strictEqual(util.inspect(new ArraySubclass(1, 2, 3)),

14161416

'ArraySubclass(3) [ 1, 2, 3 ]');

14171417

assert.strictEqual(util.inspect(new SetSubclass([1, 2, 3])),

1418-

'SetSubclass(3) [Set] { 1, 2, 3 }');

1418+

'SetSubclass(3) { 1, 2, 3 }');

14191419

assert.strictEqual(util.inspect(new MapSubclass([['foo', 42]])),

1420-

"MapSubclass(1) [Map] { 'foo' => 42 }");

1420+

"MapSubclass(1) { 'foo' => 42 }");

14211421

assert.strictEqual(util.inspect(new PromiseSubclass(() => {})),

1422-

'PromiseSubclass [Promise] { <pending> }');

1422+

'PromiseSubclass { <pending> }');

14231423

assert.strictEqual(util.inspect(new SymbolNameClass()),

14241424

'Symbol(name) {}');

14251425

assert.strictEqual(

@@ -1430,6 +1430,29 @@ if (typeof Symbol !== 'undefined') {

14301430

util.inspect(Object.setPrototypeOf(x, null)),

14311431

'[ObjectSubclass: null prototype] { foo: 42 }'

14321432

);

1433+1434+

class MiddleErrorPart extends Error {}

1435+

assert(util.inspect(new MiddleErrorPart('foo')).includes('MiddleErrorPart: foo'));

1436+1437+

class MapClass extends Map {}

1438+

assert.strictEqual(util.inspect(new MapClass([['key', 'value']])),

1439+

"MapClass(1) { 'key' => 'value' }");

1440+1441+

class AbcMap extends Map {}

1442+

assert.strictEqual(util.inspect(new AbcMap([['key', 'value']])),

1443+

"AbcMap(1) { 'key' => 'value' }");

1444+1445+

class SetAbc extends Set {}

1446+

assert.strictEqual(util.inspect(new SetAbc([1, 2, 3])),

1447+

'SetAbc(3) { 1, 2, 3 }');

1448+1449+

class FooSet extends Set {}

1450+

assert.strictEqual(util.inspect(new FooSet([1, 2, 3])),

1451+

'FooSet(3) { 1, 2, 3 }');

1452+1453+

class Settings extends Set {}

1454+

assert.strictEqual(util.inspect(new Settings([1, 2, 3])),

1455+

'Settings(3) [Set] { 1, 2, 3 }');

14331456

}

1434145714351458

// Empty and circular before depth.