gecko/browser/devtools/webconsole/test/browser_webconsole_for_of.js

36 lines
1.0 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
// A for-of loop in Web Console code can loop over a content NodeList.
const TEST_URI = "http://example.com/browser/browser/devtools/webconsole/test/test-for-of.html";
function test() {
addTab(TEST_URI);
browser.addEventListener("load", function onLoad() {
browser.removeEventListener("load", onLoad, true);
openConsole(null, testForOf);
}, true);
}
function testForOf(hud) {
var jsterm = hud.jsterm;
jsterm.execute("{ [x.tagName for (x of document.body.childNodes) if (x.nodeType === 1)].join(' '); }");
waitForSuccess({
name: "jsterm output displayed",
validatorFn: function()
{
return hud.outputNode.querySelector(".webconsole-msg-output");
},
successFn: function()
{
let node = hud.outputNode.querySelector(".webconsole-msg-output");
ok(/H1 DIV H2 P/.test(node.textContent),
"for-of loop should find all top-level nodes");
finishTest();
},
failureFn: finishTest,
});
}