diff options
Diffstat (limited to 'browser/modules/test/xpcshell/test_SitePermissions.js')
-rw-r--r-- | browser/modules/test/xpcshell/test_SitePermissions.js | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/browser/modules/test/xpcshell/test_SitePermissions.js b/browser/modules/test/xpcshell/test_SitePermissions.js deleted file mode 100644 index 808d96599..000000000 --- a/browser/modules/test/xpcshell/test_SitePermissions.js +++ /dev/null @@ -1,115 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ -"use strict"; - -Components.utils.import("resource:///modules/SitePermissions.jsm"); -Components.utils.import("resource://gre/modules/Services.jsm"); - -add_task(function* testPermissionsListing() { - Assert.deepEqual(SitePermissions.listPermissions().sort(), - ["camera", "cookie", "desktop-notification", "geo", "image", - "indexedDB", "install", "microphone", "popup", "screen"], - "Correct list of all permissions"); -}); - -add_task(function* testGetAllByURI() { - // check that it returns an empty array on an invalid URI - // like a file URI, which doesn't support site permissions - let wrongURI = Services.io.newURI("file:///example.js", null, null) - Assert.deepEqual(SitePermissions.getAllByURI(wrongURI), []); - - let uri = Services.io.newURI("https://example.com", null, null) - Assert.deepEqual(SitePermissions.getAllByURI(uri), []); - - SitePermissions.set(uri, "camera", SitePermissions.ALLOW); - Assert.deepEqual(SitePermissions.getAllByURI(uri), [ - { id: "camera", state: SitePermissions.ALLOW } - ]); - - SitePermissions.set(uri, "microphone", SitePermissions.SESSION); - SitePermissions.set(uri, "desktop-notification", SitePermissions.BLOCK); - - Assert.deepEqual(SitePermissions.getAllByURI(uri), [ - { id: "camera", state: SitePermissions.ALLOW }, - { id: "microphone", state: SitePermissions.SESSION }, - { id: "desktop-notification", state: SitePermissions.BLOCK } - ]); - - SitePermissions.remove(uri, "microphone"); - Assert.deepEqual(SitePermissions.getAllByURI(uri), [ - { id: "camera", state: SitePermissions.ALLOW }, - { id: "desktop-notification", state: SitePermissions.BLOCK } - ]); - - SitePermissions.remove(uri, "camera"); - SitePermissions.remove(uri, "desktop-notification"); - Assert.deepEqual(SitePermissions.getAllByURI(uri), []); - - // XXX Bug 1303108 - Control Center should only show non-default permissions - SitePermissions.set(uri, "addon", SitePermissions.BLOCK); - Assert.deepEqual(SitePermissions.getAllByURI(uri), []); - SitePermissions.remove(uri, "addon"); -}); - -add_task(function* testGetPermissionDetailsByURI() { - // check that it returns an empty array on an invalid URI - // like a file URI, which doesn't support site permissions - let wrongURI = Services.io.newURI("file:///example.js", null, null) - Assert.deepEqual(SitePermissions.getPermissionDetailsByURI(wrongURI), []); - - let uri = Services.io.newURI("https://example.com", null, null) - - SitePermissions.set(uri, "camera", SitePermissions.ALLOW); - SitePermissions.set(uri, "cookie", SitePermissions.SESSION); - SitePermissions.set(uri, "popup", SitePermissions.BLOCK); - - let permissions = SitePermissions.getPermissionDetailsByURI(uri); - - let camera = permissions.find(({id}) => id === "camera"); - Assert.deepEqual(camera, { - id: "camera", - label: "Use the Camera", - state: SitePermissions.ALLOW, - availableStates: [ - { id: SitePermissions.UNKNOWN, label: "Always Ask" }, - { id: SitePermissions.ALLOW, label: "Allow" }, - { id: SitePermissions.BLOCK, label: "Block" }, - ] - }); - - // check that removed permissions (State.UNKNOWN) are skipped - SitePermissions.remove(uri, "camera"); - permissions = SitePermissions.getPermissionDetailsByURI(uri); - - camera = permissions.find(({id}) => id === "camera"); - Assert.equal(camera, undefined); - - // check that different available state values are represented - - let cookie = permissions.find(({id}) => id === "cookie"); - Assert.deepEqual(cookie, { - id: "cookie", - label: "Set Cookies", - state: SitePermissions.SESSION, - availableStates: [ - { id: SitePermissions.ALLOW, label: "Allow" }, - { id: SitePermissions.SESSION, label: "Allow for Session" }, - { id: SitePermissions.BLOCK, label: "Block" }, - ] - }); - - let popup = permissions.find(({id}) => id === "popup"); - Assert.deepEqual(popup, { - id: "popup", - label: "Open Pop-up Windows", - state: SitePermissions.BLOCK, - availableStates: [ - { id: SitePermissions.ALLOW, label: "Allow" }, - { id: SitePermissions.BLOCK, label: "Block" }, - ] - }); - - SitePermissions.remove(uri, "cookie"); - SitePermissions.remove(uri, "popup"); -}); |