diff options
-rw-r--r-- | doc/api/console.md | 25 | ||||
-rw-r--r-- | lib/console.js | 3 | ||||
-rw-r--r-- | test/parallel/test-console.js | 13 |
3 files changed, 29 insertions, 12 deletions
diff --git a/doc/api/console.md b/doc/api/console.md index ba1505ec1d..d942104365 100644 --- a/doc/api/console.md +++ b/doc/api/console.md @@ -277,6 +277,19 @@ Defaults to `2`. To make it recurse indefinitely, pass `null`. Defaults to `false`. Colors are customizable; see [customizing `util.inspect()` colors][]. +### console.dirxml(...data) +<!-- YAML +added: v8.0.0 +changes: + - version: REPLACEME + pr-url: https://github.com/nodejs/node/pull/17152 + description: "`console.dirxml` now calls `console.log` for its arguments." +--> +* `...data` {any} + +This method calls `console.log()` passing it the arguments received. +Please note that this method does not produce any XML formatting. + ### console.error([data][, ...args]) <!-- YAML added: v0.1.100 @@ -435,18 +448,6 @@ The following methods are exposed by the V8 engine in the general API but do not display anything unless used in conjunction with the [inspector][] (`--inspect` flag). -### console.dirxml(object) -<!-- YAML -added: v8.0.0 ---> -* `object` {string} - -This method does not display anything unless used in the inspector. The -`console.dirxml()` method displays in `stdout` an XML interactive tree -representation of the descendants of the specified `object` if possible, or the -JavaScript representation if not. Calling `console.dirxml()` on an HTML or XML -element is equivalent to calling `console.log()`. - ### console.markTimeline(label) <!-- YAML added: v8.0.0 diff --git a/lib/console.js b/lib/console.js index 4ac0634eee..8be06935de 100644 --- a/lib/console.js +++ b/lib/console.js @@ -162,6 +162,9 @@ Console.prototype.dir = function dir(object, options) { }; +Console.prototype.dirxml = Console.prototype.log; + + Console.prototype.time = function time(label = 'default') { // Coerces everything other than Symbol to a string label = `${label}`; diff --git a/test/parallel/test-console.js b/test/parallel/test-console.js index 618caf6f25..c0ca672eba 100644 --- a/test/parallel/test-console.js +++ b/test/parallel/test-console.js @@ -103,6 +103,14 @@ console.dir(custom_inspect, { showHidden: false }); console.dir({ foo: { bar: { baz: true } } }, { depth: 0 }); console.dir({ foo: { bar: { baz: true } } }, { depth: 1 }); +// test console.dirxml() +console.dirxml(custom_inspect, custom_inspect); +console.dirxml( + { foo: { bar: { baz: true } } }, + { foo: { bar: { quux: false } } }, + { foo: { bar: { quux: true } } } +); + // test console.trace() console.trace('This is a %j %d', { formatted: 'trace' }, 10, 'foo'); @@ -171,6 +179,11 @@ assert.strictEqual(strings.shift(), "{ foo: 'bar', inspect: [Function: inspect] }\n"); assert.ok(strings.shift().includes('foo: [Object]')); assert.strictEqual(strings.shift().includes('baz'), false); +assert.strictEqual(strings.shift(), 'inspect inspect\n'); +assert.ok(strings[0].includes('foo: { bar: { baz:')); +assert.ok(strings[0].includes('quux')); +assert.ok(strings.shift().includes('quux: true')); + assert.ok(/^label: \d+\.\d{3}ms$/.test(strings.shift().trim())); assert.ok(/^__proto__: \d+\.\d{3}ms$/.test(strings.shift().trim())); assert.ok(/^constructor: \d+\.\d{3}ms$/.test(strings.shift().trim())); |