diff options
Diffstat (limited to 'browser/base/content/test/general/browser_permissions.js')
-rw-r--r-- | browser/base/content/test/general/browser_permissions.js | 202 |
1 files changed, 0 insertions, 202 deletions
diff --git a/browser/base/content/test/general/browser_permissions.js b/browser/base/content/test/general/browser_permissions.js deleted file mode 100644 index 721a669d2..000000000 --- a/browser/base/content/test/general/browser_permissions.js +++ /dev/null @@ -1,202 +0,0 @@ -/* - * Test the Permissions section in the Control Center. - */ - -var {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components; -const PERMISSIONS_PAGE = "http://example.com/browser/browser/base/content/test/general/permissions.html"; -var {SitePermissions} = Cu.import("resource:///modules/SitePermissions.jsm", {}); - -registerCleanupFunction(function() { - SitePermissions.remove(gBrowser.currentURI, "cookie"); - SitePermissions.remove(gBrowser.currentURI, "geo"); - SitePermissions.remove(gBrowser.currentURI, "camera"); - SitePermissions.remove(gBrowser.currentURI, "microphone"); - - while (gBrowser.tabs.length > 1) { - gBrowser.removeCurrentTab(); - } -}); - -function* openIdentityPopup() { - let {gIdentityHandler} = gBrowser.ownerGlobal; - let promise = BrowserTestUtils.waitForEvent(gIdentityHandler._identityPopup, "popupshown"); - gIdentityHandler._identityBox.click(); - return promise; -} - -function* closeIdentityPopup() { - let {gIdentityHandler} = gBrowser.ownerGlobal; - let promise = BrowserTestUtils.waitForEvent(gIdentityHandler._identityPopup, "popuphidden"); - gIdentityHandler._identityPopup.hidePopup(); - return promise; -} - -add_task(function* testMainViewVisible() { - let tab = gBrowser.selectedTab = gBrowser.addTab(); - yield promiseTabLoadEvent(tab, PERMISSIONS_PAGE); - - let permissionsList = document.getElementById("identity-popup-permission-list"); - let emptyLabel = permissionsList.nextSibling.nextSibling; - - yield openIdentityPopup(); - - ok(!is_hidden(emptyLabel), "List of permissions is empty"); - - yield closeIdentityPopup(); - - SitePermissions.set(gBrowser.currentURI, "camera", SitePermissions.ALLOW); - - yield openIdentityPopup(); - - ok(is_hidden(emptyLabel), "List of permissions is not empty"); - - let labelText = SitePermissions.getPermissionLabel("camera"); - let labels = permissionsList.querySelectorAll(".identity-popup-permission-label"); - is(labels.length, 1, "One permission visible in main view"); - is(labels[0].textContent, labelText, "Correct value"); - - let img = permissionsList.querySelector("image.identity-popup-permission-icon"); - ok(img, "There is an image for the permissions"); - ok(img.classList.contains("camera-icon"), "proper class is in image class"); - - yield closeIdentityPopup(); - - SitePermissions.remove(gBrowser.currentURI, "camera"); - - yield openIdentityPopup(); - - ok(!is_hidden(emptyLabel), "List of permissions is empty"); - - yield closeIdentityPopup(); -}); - -add_task(function* testIdentityIcon() { - let {gIdentityHandler} = gBrowser.ownerGlobal; - let tab = gBrowser.selectedTab = gBrowser.addTab(); - yield promiseTabLoadEvent(tab, PERMISSIONS_PAGE); - - SitePermissions.set(gBrowser.currentURI, "geo", SitePermissions.ALLOW); - - ok(gIdentityHandler._identityBox.classList.contains("grantedPermissions"), - "identity-box signals granted permissions"); - - SitePermissions.remove(gBrowser.currentURI, "geo"); - - ok(!gIdentityHandler._identityBox.classList.contains("grantedPermissions"), - "identity-box doesn't signal granted permissions"); - - SitePermissions.set(gBrowser.currentURI, "camera", SitePermissions.BLOCK); - - ok(!gIdentityHandler._identityBox.classList.contains("grantedPermissions"), - "identity-box doesn't signal granted permissions"); - - SitePermissions.set(gBrowser.currentURI, "cookie", SitePermissions.SESSION); - - ok(gIdentityHandler._identityBox.classList.contains("grantedPermissions"), - "identity-box signals granted permissions"); - - SitePermissions.remove(gBrowser.currentURI, "geo"); - SitePermissions.remove(gBrowser.currentURI, "camera"); - SitePermissions.remove(gBrowser.currentURI, "cookie"); -}); - -add_task(function* testCancelPermission() { - let tab = gBrowser.selectedTab = gBrowser.addTab(); - yield promiseTabLoadEvent(tab, PERMISSIONS_PAGE); - - let permissionsList = document.getElementById("identity-popup-permission-list"); - let emptyLabel = permissionsList.nextSibling.nextSibling; - - SitePermissions.set(gBrowser.currentURI, "geo", SitePermissions.ALLOW); - SitePermissions.set(gBrowser.currentURI, "camera", SitePermissions.BLOCK); - - yield openIdentityPopup(); - - ok(is_hidden(emptyLabel), "List of permissions is not empty"); - - let cancelButtons = permissionsList - .querySelectorAll(".identity-popup-permission-remove-button"); - - cancelButtons[0].click(); - let labels = permissionsList.querySelectorAll(".identity-popup-permission-label"); - is(labels.length, 1, "One permission should be removed"); - cancelButtons[1].click(); - labels = permissionsList.querySelectorAll(".identity-popup-permission-label"); - is(labels.length, 0, "One permission should be removed"); - - yield closeIdentityPopup(); -}); - -add_task(function* testPermissionHints() { - let tab = gBrowser.selectedTab = gBrowser.addTab(); - yield promiseTabLoadEvent(tab, PERMISSIONS_PAGE); - - let permissionsList = document.getElementById("identity-popup-permission-list"); - let emptyHint = document.getElementById("identity-popup-permission-empty-hint"); - let reloadHint = document.getElementById("identity-popup-permission-reload-hint"); - - yield openIdentityPopup(); - - ok(!is_hidden(emptyHint), "Empty hint is visible"); - ok(is_hidden(reloadHint), "Reload hint is hidden"); - - yield closeIdentityPopup(); - - SitePermissions.set(gBrowser.currentURI, "geo", SitePermissions.ALLOW); - SitePermissions.set(gBrowser.currentURI, "camera", SitePermissions.BLOCK); - - yield openIdentityPopup(); - - ok(is_hidden(emptyHint), "Empty hint is hidden"); - ok(is_hidden(reloadHint), "Reload hint is hidden"); - - let cancelButtons = permissionsList - .querySelectorAll(".identity-popup-permission-remove-button"); - SitePermissions.remove(gBrowser.currentURI, "camera"); - - cancelButtons[0].click(); - ok(is_hidden(emptyHint), "Empty hint is hidden"); - ok(!is_hidden(reloadHint), "Reload hint is visible"); - - cancelButtons[1].click(); - ok(is_hidden(emptyHint), "Empty hint is hidden"); - ok(!is_hidden(reloadHint), "Reload hint is visible"); - - yield closeIdentityPopup(); - yield promiseTabLoadEvent(tab, PERMISSIONS_PAGE); - yield openIdentityPopup(); - - ok(!is_hidden(emptyHint), "Empty hint is visible after reloading"); - ok(is_hidden(reloadHint), "Reload hint is hidden after reloading"); - - yield closeIdentityPopup(); -}); - -add_task(function* testPermissionIcons() { - let {gIdentityHandler} = gBrowser.ownerGlobal; - let tab = gBrowser.selectedTab = gBrowser.addTab(); - yield promiseTabLoadEvent(tab, PERMISSIONS_PAGE); - - SitePermissions.set(gBrowser.currentURI, "camera", SitePermissions.ALLOW); - SitePermissions.set(gBrowser.currentURI, "geo", SitePermissions.BLOCK); - SitePermissions.set(gBrowser.currentURI, "microphone", SitePermissions.SESSION); - - let geoIcon = gIdentityHandler._identityBox - .querySelector(".blocked-permission-icon[data-permission-id='geo']"); - ok(geoIcon.hasAttribute("showing"), "blocked permission icon is shown"); - - let cameraIcon = gIdentityHandler._identityBox - .querySelector(".blocked-permission-icon[data-permission-id='camera']"); - ok(!cameraIcon.hasAttribute("showing"), - "allowed permission icon is not shown"); - - let microphoneIcon = gIdentityHandler._identityBox - .querySelector(".blocked-permission-icon[data-permission-id='microphone']"); - ok(!microphoneIcon.hasAttribute("showing"), - "allowed permission icon is not shown"); - - SitePermissions.remove(gBrowser.currentURI, "geo"); - - ok(!geoIcon.hasAttribute("showing"), - "blocked permission icon is not shown after reset"); -}); |