зеркало из https://github.com/mozilla/gecko-dev.git
130 строки
4.1 KiB
HTML
130 строки
4.1 KiB
HTML
<!DOCTYPE html>
|
|
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="utf8">
|
|
<title></title>
|
|
|
|
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
|
|
<script type="application/javascript" src="chrome://mochikit/content/chrome-harness.js"></script>
|
|
<script type="application/javascript;version=1.8" src="head.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<script type="application/javascript;version=1.8">
|
|
window.onload = function() {
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
Task.spawn(function* () {
|
|
Cu.import("resource://gre/modules/devtools/dbg-server.jsm");
|
|
|
|
if (!DebuggerServer.initialized) {
|
|
DebuggerServer.init(function () { return true; });
|
|
DebuggerServer.addBrowserActors();
|
|
}
|
|
|
|
let win = yield openWebIDE();
|
|
|
|
let permIframe = win.document.querySelector("#deck-panel-permissionstable");
|
|
let infoIframe = win.document.querySelector("#deck-panel-runtimedetails");
|
|
|
|
yield documentIsLoaded(permIframe.contentWindow.document);
|
|
yield documentIsLoaded(infoIframe.contentWindow.document);
|
|
|
|
win.AppManager.update("runtimelist");
|
|
|
|
let panelNode = win.document.querySelector("#runtime-panel");
|
|
let items = panelNode.querySelectorAll(".runtime-panel-item-custom");
|
|
is(items.length, 2, "Found 2 custom runtimes button");
|
|
|
|
let deferred = promise.defer();
|
|
win.AppManager.on("app-manager-update", function onUpdate(e,w) {
|
|
if (w == "list-tabs-response") {
|
|
win.AppManager.off("app-manager-update", onUpdate);
|
|
deferred.resolve();
|
|
}
|
|
});
|
|
|
|
items[1].click();
|
|
|
|
yield deferred.promise;
|
|
|
|
yield nextTick();
|
|
|
|
let perm = win.document.querySelector("#cmd_showPermissionsTable");
|
|
let info = win.document.querySelector("#cmd_showRuntimeDetails");
|
|
|
|
ok(!perm.hasAttribute("disabled"), "perm cmd enabled");
|
|
ok(!info.hasAttribute("disabled"), "info cmd enabled");
|
|
|
|
let deck = win.document.querySelector("#deck");
|
|
|
|
win.Cmds.showRuntimeDetails();
|
|
is(deck.selectedPanel, infoIframe, "info iframe selected");
|
|
|
|
yield infoIframe.contentWindow.getRawPermissionsTablePromise;
|
|
|
|
yield nextTick();
|
|
|
|
// device info and permissions content is checked in other tests
|
|
// We just test one value to make sure we get something
|
|
|
|
let doc = infoIframe.contentWindow.document;
|
|
let trs = doc.querySelectorAll("tr");
|
|
let found = false;
|
|
|
|
for (let tr of trs) {
|
|
let [name,val] = tr.querySelectorAll("td");
|
|
if (name.textContent == "appid") {
|
|
found = true;
|
|
is(val.textContent, Services.appinfo.ID, "appid has the right value");
|
|
}
|
|
}
|
|
ok(found, "Found appid line");
|
|
|
|
win.Cmds.showPermissionsTable();
|
|
is(deck.selectedPanel, permIframe, "permission iframe selected");
|
|
|
|
yield infoIframe.contentWindow.getDescriptionPromise;
|
|
|
|
yield nextTick();
|
|
|
|
doc = permIframe.contentWindow.document;
|
|
trs = doc.querySelectorAll(".line");
|
|
found = false;
|
|
for (let tr of trs) {
|
|
let [name,v1,v2,v3] = tr.querySelectorAll("td");
|
|
if (name.textContent == "geolocation") {
|
|
found = true;
|
|
is(v1.className, "permprompt", "geolocation perm is valid");
|
|
is(v2.className, "permprompt", "geolocation perm is valid");
|
|
is(v3.className, "permprompt", "geolocation perm is valid");
|
|
}
|
|
}
|
|
ok(found, "Found geolocation line");
|
|
|
|
doc.querySelector("#close").click();
|
|
|
|
ok(!deck.selectedPanel, "No panel selected");
|
|
|
|
DebuggerServer.destroy();
|
|
|
|
yield closeWebIDE(win);
|
|
|
|
SimpleTest.finish();
|
|
|
|
|
|
}).then(null, e => {
|
|
ok(false, "Exception: " + e);
|
|
SimpleTest.finish();
|
|
});
|
|
}
|
|
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|