diff options
Diffstat (limited to 'browser/components/preferences/in-content/tests/browser_cookies_exceptions.js')
-rw-r--r-- | browser/components/preferences/in-content/tests/browser_cookies_exceptions.js | 348 |
1 files changed, 0 insertions, 348 deletions
diff --git a/browser/components/preferences/in-content/tests/browser_cookies_exceptions.js b/browser/components/preferences/in-content/tests/browser_cookies_exceptions.js deleted file mode 100644 index 89313d736..000000000 --- a/browser/components/preferences/in-content/tests/browser_cookies_exceptions.js +++ /dev/null @@ -1,348 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ */ - -requestLongerTimeout(2); - -function test() { - waitForExplicitFinish(); - requestLongerTimeout(3); - testRunner.runTests(); -} - -var testRunner = { - - tests: - [ - { - test: function(params) { - params.url.value = "test.com"; - params.btnAllow.doCommand(); - is(params.tree.view.rowCount, 1, "added exception shows up in treeview"); - is(params.tree.view.getCellText(0, params.nameCol), "http://test.com", - "origin name should be set correctly"); - is(params.tree.view.getCellText(0, params.statusCol), params.allowText, - "permission text should be set correctly"); - params.btnApplyChanges.doCommand(); - }, - observances: [{ type: "cookie", origin: "http://test.com", data: "added", - capability: Ci.nsIPermissionManager.ALLOW_ACTION }], - }, - { - test: function(params) { - params.url.value = "test.com"; - params.btnBlock.doCommand(); - is(params.tree.view.getCellText(0, params.nameCol), "http://test.com", - "origin name should be set correctly"); - is(params.tree.view.getCellText(0, params.statusCol), params.denyText, - "permission should change to deny in UI"); - params.btnApplyChanges.doCommand(); - }, - observances: [{ type: "cookie", origin: "http://test.com", data: "changed", - capability: Ci.nsIPermissionManager.DENY_ACTION }], - }, - { - test: function(params) { - params.url.value = "test.com"; - params.btnAllow.doCommand(); - is(params.tree.view.getCellText(0, params.nameCol), "http://test.com", - "origin name should be set correctly"); - is(params.tree.view.getCellText(0, params.statusCol), params.allowText, - "permission should revert back to allow"); - params.btnApplyChanges.doCommand(); - }, - observances: [{ type: "cookie", origin: "http://test.com", data: "changed", - capability: Ci.nsIPermissionManager.ALLOW_ACTION }], - }, - { - test: function(params) { - params.url.value = "test.com"; - params.btnRemove.doCommand(); - is(params.tree.view.rowCount, 0, "exception should be removed"); - params.btnApplyChanges.doCommand(); - }, - observances: [{ type: "cookie", origin: "http://test.com", data: "deleted" }], - }, - { - expectPermObservancesDuringTestFunction: true, - test: function(params) { - let uri = params.ioService.newURI("http://test.com", null, null); - params.pm.add(uri, "popup", Ci.nsIPermissionManager.DENY_ACTION); - is(params.tree.view.rowCount, 0, "adding unrelated permission should not change display"); - params.btnApplyChanges.doCommand(); - }, - observances: [{ type: "popup", origin: "http://test.com", data: "added", - capability: Ci.nsIPermissionManager.DENY_ACTION }], - cleanUp: function(params) { - let uri = params.ioService.newURI("http://test.com", null, null); - params.pm.remove(uri, "popup"); - }, - }, - { - test: function(params) { - params.url.value = "https://test.com:12345"; - params.btnAllow.doCommand(); - is(params.tree.view.rowCount, 1, "added exception shows up in treeview"); - is(params.tree.view.getCellText(0, params.nameCol), "https://test.com:12345", - "origin name should be set correctly"); - is(params.tree.view.getCellText(0, params.statusCol), params.allowText, - "permission text should be set correctly"); - params.btnApplyChanges.doCommand(); - }, - observances: [{ type: "cookie", origin: "https://test.com:12345", data: "added", - capability: Ci.nsIPermissionManager.ALLOW_ACTION }], - }, - { - test: function(params) { - params.url.value = "https://test.com:12345"; - params.btnBlock.doCommand(); - is(params.tree.view.getCellText(0, params.nameCol), "https://test.com:12345", - "origin name should be set correctly"); - is(params.tree.view.getCellText(0, params.statusCol), params.denyText, - "permission should change to deny in UI"); - params.btnApplyChanges.doCommand(); - }, - observances: [{ type: "cookie", origin: "https://test.com:12345", data: "changed", - capability: Ci.nsIPermissionManager.DENY_ACTION }], - }, - { - test: function(params) { - params.url.value = "https://test.com:12345"; - params.btnAllow.doCommand(); - is(params.tree.view.getCellText(0, params.nameCol), "https://test.com:12345", - "origin name should be set correctly"); - is(params.tree.view.getCellText(0, params.statusCol), params.allowText, - "permission should revert back to allow"); - params.btnApplyChanges.doCommand(); - }, - observances: [{ type: "cookie", origin: "https://test.com:12345", data: "changed", - capability: Ci.nsIPermissionManager.ALLOW_ACTION }], - }, - { - test: function(params) { - params.url.value = "https://test.com:12345"; - params.btnRemove.doCommand(); - is(params.tree.view.rowCount, 0, "exception should be removed"); - params.btnApplyChanges.doCommand(); - }, - observances: [{ type: "cookie", origin: "https://test.com:12345", data: "deleted" }], - }, - { - test: function(params) { - params.url.value = "localhost:12345"; - params.btnAllow.doCommand(); - is(params.tree.view.rowCount, 1, "added exception shows up in treeview"); - is(params.tree.view.getCellText(0, params.nameCol), "http://localhost:12345", - "origin name should be set correctly"); - is(params.tree.view.getCellText(0, params.statusCol), params.allowText, - "permission text should be set correctly"); - params.btnApplyChanges.doCommand(); - }, - observances: [{ type: "cookie", origin: "http://localhost:12345", data: "added", - capability: Ci.nsIPermissionManager.ALLOW_ACTION }], - }, - { - test: function(params) { - params.url.value = "localhost:12345"; - params.btnBlock.doCommand(); - is(params.tree.view.getCellText(0, params.nameCol), "http://localhost:12345", - "origin name should be set correctly"); - is(params.tree.view.getCellText(0, params.statusCol), params.denyText, - "permission should change to deny in UI"); - params.btnApplyChanges.doCommand(); - }, - observances: [{ type: "cookie", origin: "http://localhost:12345", data: "changed", - capability: Ci.nsIPermissionManager.DENY_ACTION }], - }, - { - test: function(params) { - params.url.value = "localhost:12345"; - params.btnAllow.doCommand(); - is(params.tree.view.getCellText(0, params.nameCol), "http://localhost:12345", - "origin name should be set correctly"); - is(params.tree.view.getCellText(0, params.statusCol), params.allowText, - "permission should revert back to allow"); - params.btnApplyChanges.doCommand(); - }, - observances: [{ type: "cookie", origin: "http://localhost:12345", data: "changed", - capability: Ci.nsIPermissionManager.ALLOW_ACTION }], - }, - { - test: function(params) { - params.url.value = "localhost:12345"; - params.btnRemove.doCommand(); - is(params.tree.view.rowCount, 0, "exception should be removed"); - params.btnApplyChanges.doCommand(); - }, - observances: [{ type: "cookie", origin: "http://localhost:12345", data: "deleted" }], - }, - { - expectPermObservancesDuringTestFunction: true, - test(params) { - for (let URL of ["http://a", "http://z", "http://b"]) { - let URI = params.ioService.newURI(URL, null, null); - params.pm.add(URI, "cookie", Ci.nsIPermissionManager.ALLOW_ACTION); - } - - is(params.tree.view.rowCount, 3, "Three permissions should be present"); - is(params.tree.view.getCellText(0, params.nameCol), "http://a", - "site should be sorted. 'a' should be first"); - is(params.tree.view.getCellText(1, params.nameCol), "http://b", - "site should be sorted. 'b' should be second"); - is(params.tree.view.getCellText(2, params.nameCol), "http://z", - "site should be sorted. 'z' should be third"); - - // Sort descending then check results in cleanup since sorting isn't synchronous. - EventUtils.synthesizeMouseAtCenter(params.doc.getElementById("siteCol"), {}, - params.doc.defaultView); - params.btnApplyChanges.doCommand(); - }, - observances: [{ type: "cookie", origin: "http://a", data: "added", - capability: Ci.nsIPermissionManager.ALLOW_ACTION }, - { type: "cookie", origin: "http://z", data: "added", - capability: Ci.nsIPermissionManager.ALLOW_ACTION }, - { type: "cookie", origin: "http://b", data: "added", - capability: Ci.nsIPermissionManager.ALLOW_ACTION }], - cleanUp(params) { - is(params.tree.view.getCellText(0, params.nameCol), "http://z", - "site should be sorted. 'z' should be first"); - is(params.tree.view.getCellText(1, params.nameCol), "http://b", - "site should be sorted. 'b' should be second"); - is(params.tree.view.getCellText(2, params.nameCol), "http://a", - "site should be sorted. 'a' should be third"); - - for (let URL of ["http://a", "http://z", "http://b"]) { - let uri = params.ioService.newURI(URL, null, null); - params.pm.remove(uri, "cookie"); - } - }, - }, - ], - - _currentTest: -1, - - runTests: function() { - this._currentTest++; - - info("Running test #" + (this._currentTest + 1) + "\n"); - let that = this; - let p = this.runCurrentTest(this._currentTest + 1); - p.then(function() { - if (that._currentTest == that.tests.length - 1) { - finish(); - } - else { - that.runTests(); - } - }); - }, - - runCurrentTest: function(testNumber) { - return new Promise(function(resolve, reject) { - - let helperFunctions = { - windowLoad: function(win) { - let doc = win.document; - let params = { - doc, - tree: doc.getElementById("permissionsTree"), - nameCol: doc.getElementById("permissionsTree").treeBoxObject.columns.getColumnAt(0), - statusCol: doc.getElementById("permissionsTree").treeBoxObject.columns.getColumnAt(1), - url: doc.getElementById("url"), - btnAllow: doc.getElementById("btnAllow"), - btnBlock: doc.getElementById("btnBlock"), - btnApplyChanges: doc.getElementById("btnApplyChanges"), - btnRemove: doc.getElementById("removePermission"), - pm: Cc["@mozilla.org/permissionmanager;1"] - .getService(Ci.nsIPermissionManager), - ioService: Cc["@mozilla.org/network/io-service;1"] - .getService(Ci.nsIIOService), - allowText: win.gPermissionManager._getCapabilityString( - Ci.nsIPermissionManager.ALLOW_ACTION), - denyText: win.gPermissionManager._getCapabilityString( - Ci.nsIPermissionManager.DENY_ACTION), - allow: Ci.nsIPermissionManager.ALLOW_ACTION, - deny: Ci.nsIPermissionManager.DENY_ACTION, - }; - - let permObserver = { - observe: function(aSubject, aTopic, aData) { - if (aTopic != "perm-changed") - return; - - if (testRunner.tests[testRunner._currentTest].observances.length == 0) { - // Should fail here as we are not expecting a notification, but we don't. - // See bug 1063410. - return; - } - - let permission = aSubject.QueryInterface(Ci.nsIPermission); - let expected = testRunner.tests[testRunner._currentTest].observances.shift(); - - is(aData, expected.data, "type of message should be the same"); - for (let prop of ["type", "capability"]) { - if (expected[prop]) - is(permission[prop], expected[prop], - "property: \"" + prop + "\" should be equal"); - } - - if (expected.origin) { - is(permission.principal.origin, expected.origin, - "property: \"origin\" should be equal"); - } - - os.removeObserver(permObserver, "perm-changed"); - - let test = testRunner.tests[testRunner._currentTest]; - if (!test.expectPermObservancesDuringTestFunction) { - if (test.cleanUp) { - test.cleanUp(params); - } - - gBrowser.removeCurrentTab(); - resolve(); - } - }, - }; - - let os = Cc["@mozilla.org/observer-service;1"] - .getService(Ci.nsIObserverService); - - os.addObserver(permObserver, "perm-changed", false); - - if (testRunner._currentTest == 0) { - is(params.tree.view.rowCount, 0, "no cookie exceptions"); - } - - try { - let test = testRunner.tests[testRunner._currentTest]; - test.test(params); - if (test.expectPermObservancesDuringTestFunction) { - if (test.cleanUp) { - test.cleanUp(params); - } - - gBrowser.removeCurrentTab(); - resolve(); - } - } catch (ex) { - ok(false, "exception while running test #" + - testNumber + ": " + ex); - } - }, - }; - - openPreferencesViaOpenPreferencesAPI("panePrivacy", null, {leaveOpen: true}).then(function() { - let doc = gBrowser.contentDocument; - let historyMode = doc.getElementById("historyMode"); - historyMode.value = "custom"; - historyMode.doCommand(); - doc.getElementById("cookieExceptions").doCommand(); - - let subDialogURL = "chrome://browser/content/preferences/permissions.xul"; - promiseLoadSubDialog(subDialogURL).then(function(win) { - helperFunctions.windowLoad(win); - }); - }); - }); - }, -}; |