diff options
Diffstat (limited to 'devtools/client/webide/test/test_device_permissions.html')
-rw-r--r-- | devtools/client/webide/test/test_device_permissions.html | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/devtools/client/webide/test/test_device_permissions.html b/devtools/client/webide/test/test_device_permissions.html new file mode 100644 index 000000000..eadd9f595 --- /dev/null +++ b/devtools/client/webide/test/test_device_permissions.html @@ -0,0 +1,81 @@ +<!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* () { + if (!DebuggerServer.initialized) { + DebuggerServer.init(); + DebuggerServer.addBrowserActors(); + } + + let win = yield openWebIDE(); + + let permIframe = win.document.querySelector("#deck-panel-permissionstable"); + let docRuntime = getRuntimeDocument(win); + let winRuntime = getRuntimeWindow(win); + + yield connectToLocalRuntime(win); + + let perm = docRuntime.querySelector("#runtime-permissions"); + + ok(!perm.hasAttribute("disabled"), "perm cmd enabled"); + + let deck = win.document.querySelector("#deck"); + + winRuntime.runtimeList.showPermissionsTable(); + is(deck.selectedPanel, permIframe, "permission iframe selected"); + + yield nextTick(); + + yield lazyIframeIsLoaded(permIframe); + + yield permIframe.contentWindow.getRawPermissionsTablePromise; + + 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"); + break; + } + } + 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> |