提交 b5a5e973 编写于 作者: B Bartek Iwańczuk 提交者: Ryan Dahl

add console.dirxml (#2835)

上级 23215a83
......@@ -526,6 +526,18 @@ export class Console {
this.printFunc(stringifyArgs([obj], options) + "\n", false);
};
/** From MDN:
* Displays an interactive tree of the descendant elements of
* the specified XML/HTML element. If it is not possible to display
* as an element the JavaScript Object view is shown instead.
* The output is presented as a hierarchical listing of expandable
* nodes that let you see the contents of child nodes.
*
* Since we write to stdout, we can't display anything interactive
* we just fall back to `console.dir`.
*/
dirxml = this.dir;
/** Writes the arguments to stdout */
warn = (...args: unknown[]): void => {
this.printFunc(
......
......@@ -150,7 +150,7 @@ test(function consoleTestStringifyCircular(): void {
assertEquals(stringify(JSON), "{}");
assertEquals(
stringify(console),
"{ printFunc, log, debug, info, dir, warn, error, assert, count, countReset, table, time, timeLog, timeEnd, group, groupCollapsed, groupEnd, clear, trace, indentLevel }"
"{ printFunc, log, debug, info, dir, dirxml, warn, error, assert, count, countReset, table, time, timeLog, timeEnd, group, groupCollapsed, groupEnd, clear, trace, indentLevel }"
);
// test inspect is working the same
assertEquals(inspect(nestedObj), nestedObjExpected);
......@@ -320,6 +320,7 @@ test(function consoleTestClear(): void {
test(function consoleDetachedLog(): void {
const log = console.log;
const dir = console.dir;
const dirxml = console.dirxml;
const debug = console.debug;
const info = console.info;
const warn = console.warn;
......@@ -336,6 +337,7 @@ test(function consoleDetachedLog(): void {
const consoleClear = console.clear;
log("Hello world");
dir("Hello world");
dirxml("Hello world");
debug("Hello world");
info("Hello world");
warn("Hello world");
......@@ -669,6 +671,22 @@ test(function consoleDir(): void {
);
});
// console.dir test
test(function consoleDirXml(): void {
mockConsole(
(console, out): void => {
console.dirxml("DIRXML");
assertEquals(out.toString(), "DIRXML\n");
}
);
mockConsole(
(console, out): void => {
console.dirxml("DIRXML", { indentLevel: 2 });
assertEquals(out.toString(), " DIRXML\n");
}
);
});
// console.trace test
test(function consoleTrace(): void {
mockConsole(
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册