132 lines
2.7 KiB
JavaScript
132 lines
2.7 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
// Test to verify that the sidebar opens, closes and updates
|
|
// This test is not testing the values in the sidebar, being tested in _values
|
|
|
|
// Format: [
|
|
// <id of the table item to click> or <id array for tree item to select> or
|
|
// null to press Escape,
|
|
// <do we wait for the async "sidebar-updated" event>,
|
|
// <is the sidebar open>
|
|
// ]
|
|
|
|
"use strict";
|
|
|
|
const testCases = [
|
|
{
|
|
location: ["cookies", ALT_ORIGIN_SECURED],
|
|
sidebarHidden: true,
|
|
},
|
|
{
|
|
location: getCookieId("cs2", "." + MAIN_DOMAIN, "/"),
|
|
sidebarHidden: false,
|
|
},
|
|
{
|
|
sendEscape: true,
|
|
},
|
|
{
|
|
location: getCookieId("cs2", "." + MAIN_DOMAIN, "/"),
|
|
sidebarHidden: true,
|
|
},
|
|
{
|
|
location: getCookieId("uc1", "." + MAIN_DOMAIN, "/"),
|
|
sidebarHidden: true,
|
|
},
|
|
{
|
|
location: getCookieId("uc1", "." + MAIN_DOMAIN, "/"),
|
|
sidebarHidden: true,
|
|
},
|
|
|
|
{
|
|
location: ["localStorage", ALT_ORIGIN],
|
|
sidebarHidden: true,
|
|
},
|
|
{
|
|
location: "iframe-u-ls1",
|
|
sidebarHidden: false,
|
|
},
|
|
{
|
|
location: "iframe-u-ls1",
|
|
sidebarHidden: false,
|
|
},
|
|
{
|
|
sendEscape: true,
|
|
},
|
|
|
|
{
|
|
location: ["sessionStorage", MAIN_ORIGIN],
|
|
sidebarHidden: true,
|
|
},
|
|
{
|
|
location: "ss1",
|
|
sidebarHidden: false,
|
|
},
|
|
{
|
|
sendEscape: true,
|
|
},
|
|
|
|
{
|
|
location: ["indexedDB", MAIN_ORIGIN],
|
|
sidebarHidden: true,
|
|
},
|
|
{
|
|
location: "idb2 (default)",
|
|
sidebarHidden: false,
|
|
},
|
|
|
|
{
|
|
location: ["indexedDB", MAIN_ORIGIN, "idb2 (default)", "obj3"],
|
|
sidebarHidden: true,
|
|
},
|
|
|
|
{
|
|
location: ["indexedDB", ALT_ORIGIN_SECURED, "idb-s2 (default)"],
|
|
sidebarHidden: true,
|
|
},
|
|
{
|
|
location: "obj-s2",
|
|
sidebarHidden: false,
|
|
},
|
|
{
|
|
sendEscape: true,
|
|
},
|
|
{
|
|
location: "obj-s2",
|
|
sidebarHidden: true,
|
|
},
|
|
];
|
|
|
|
add_task(async function () {
|
|
// storage-listings.html explicitly mixes secure and insecure frames.
|
|
// We should not enforce https for tests using this page.
|
|
await pushPref("dom.security.https_first", false);
|
|
|
|
await openTabAndSetupStorage(MAIN_URL + "storage-listings.html");
|
|
|
|
for (const test of testCases) {
|
|
const { location, sidebarHidden, sendEscape } = test;
|
|
|
|
info("running " + JSON.stringify(test));
|
|
|
|
if (Array.isArray(location)) {
|
|
await selectTreeItem(location);
|
|
} else if (location) {
|
|
await selectTableItem(location);
|
|
}
|
|
|
|
if (sendEscape) {
|
|
EventUtils.sendKey("ESCAPE", gPanelWindow);
|
|
} else {
|
|
is(
|
|
gUI.sidebar.hidden,
|
|
sidebarHidden,
|
|
"correct visibility state of sidebar."
|
|
);
|
|
}
|
|
|
|
info("-".repeat(80));
|
|
}
|
|
});
|