Bug 1551902 - Add a test for the toggle switch in the protections panel. r=johannh

Differential Revision: https://phabricator.services.mozilla.com/D32982

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Nihanth Subramanya 2019-06-04 13:10:56 +00:00
Родитель e51452d49c
Коммит 667a8a2991
5 изменённых файлов: 44 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,7 @@
"use strict";
module.exports = {
"extends": [
"plugin:mozilla/browser-test"
]
};

Просмотреть файл

@ -0,0 +1,5 @@
[DEFAULT]
support-files =
head.js
[browser_protections_UI.js]

Просмотреть файл

@ -0,0 +1,20 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
/* Basic UI tests for the protections panel */
add_task(async function testToggleSwitch() {
let uri = "http://example.com";
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, uri);
await openProtectionsPanel();
ok(gProtectionsHandler._protectionsPopupTPSwitch.hasAttribute("enabled"), "TP Switch should be enabled");
let popuphiddenPromise = BrowserTestUtils.waitForEvent(protectionsPopup, "popuphidden");
let browserLoadedPromise = BrowserTestUtils.browserLoaded(tab.linkedBrowser);
gProtectionsHandler._protectionsPopupTPSwitch.click();
await popuphiddenPromise;
await browserLoadedPromise;
await openProtectionsPanel();
ok(!gProtectionsHandler._protectionsPopupTPSwitch.hasAttribute("enabled"), "TP Switch should be disabled");
BrowserTestUtils.removeTab(tab);
Services.perms.remove(uri, "trackingprotection");
});

Просмотреть файл

@ -0,0 +1,11 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
var protectionsPopup = document.getElementById("protections-popup");
async function openProtectionsPanel() {
let popupShownPromise = BrowserTestUtils.waitForEvent(protectionsPopup, "popupshown");
let identityBox = document.getElementById("identity-box");
EventUtils.synthesizeMouseAtCenter(identityBox, { metaKey: true });
await popupShownPromise;
}

Просмотреть файл

@ -46,6 +46,7 @@ BROWSER_CHROME_MANIFESTS += [
'content/test/sanitize/browser.ini',
'content/test/sidebar/browser.ini',
'content/test/siteIdentity/browser.ini',
'content/test/siteProtections/browser.ini',
'content/test/static/browser.ini',
'content/test/statuspanel/browser.ini',
'content/test/sync/browser.ini',