summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Zaslavsky <benjamin.zaslavsky@gmail.com>2017-11-20 17:12:20 +0100
committerTobias Nießen <tniessen@tnie.de>2017-12-04 00:07:57 +0100
commitc84710d062dfa4b39f0aa819a61c91d513ab5d1b (patch)
treec03e7a07c1fca1a12e01103679b53aaff3846dfd
parent254b5f04e7b309146cb8ade1d1fb0b804b964a51 (diff)
downloadandroid-node-v8-c84710d062dfa4b39f0aa819a61c91d513ab5d1b.tar.gz
android-node-v8-c84710d062dfa4b39f0aa819a61c91d513ab5d1b.tar.bz2
android-node-v8-c84710d062dfa4b39f0aa819a61c91d513ab5d1b.zip
console: make dirxml an alias for console.log
This method was previously exposed by V8 (since node 8.0.0) but not implemented in node. PR-URL: https://github.com/nodejs/node/pull/17152 Refs: https://github.com/nodejs/node/issues/17128 Reviewed-By: Timothy Gu <timothygu99@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
-rw-r--r--doc/api/console.md25
-rw-r--r--lib/console.js3
-rw-r--r--test/parallel/test-console.js13
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()));