зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1470646 - Silence missing nodeType property warning. r=whimboo
If val does not have a property nodeType, a warning is emitted to the browser console. This is observable when running the xpcshell unit tests because we mock out val without a nodeType property. MozReview-Commit-ID: GzqMoJQQdF8 --HG-- extra : rebase_source : be793524551751e96e2059907cfc3eed3602cde5
This commit is contained in:
Родитель
88041b74a8
Коммит
1c79ab9d74
|
@ -12,14 +12,14 @@ XPCOMUtils.defineLazyGetter(this, "log", Log.get);
|
|||
|
||||
this.EXPORTED_SYMBOLS = ["pprint", "truncate"];
|
||||
|
||||
const ELEMENT_NODE = 1;
|
||||
const MAX_STRING_LENGTH = 250;
|
||||
|
||||
/**
|
||||
* Pretty-print values passed to template strings.
|
||||
*
|
||||
* Usage:
|
||||
* Usage::
|
||||
*
|
||||
* <pre><code>
|
||||
* const {pprint} = Cu.import("chrome://marionette/content/error.js", {});
|
||||
* let bool = {value: true};
|
||||
* pprint`Expected boolean, got ${bool}`;
|
||||
|
@ -31,13 +31,12 @@ const MAX_STRING_LENGTH = 250;
|
|||
*
|
||||
* pprint`Current window: ${window}`;
|
||||
* => '[object Window https://www.mozilla.org/]'
|
||||
* </code></pre>
|
||||
*/
|
||||
function pprint(ss, ...values) {
|
||||
function pretty(val) {
|
||||
let proto = Object.prototype.toString.call(val);
|
||||
|
||||
if (val && val.nodeType === 1) {
|
||||
if (typeof val == "object" && val !== null &&
|
||||
"nodeType" in val && val.nodeType === ELEMENT_NODE) {
|
||||
return prettyElement(val);
|
||||
} else if (["[object Window]", "[object ChromeWindow]"].includes(proto)) {
|
||||
return prettyWindowGlobal(val);
|
||||
|
|
Загрузка…
Ссылка в новой задаче