summaryrefslogtreecommitdiffstats
path: root/devtools/client/storage/test/browser_storage_indexeddb_add_button_hidden.js
blob: 6cee0dc49317c1fb8e0617b0fa413afcd1da8caa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* 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/. */

"use strict";

// Test that the add button is hidden for the indexedDB storage type.
add_task(async function () {
  await openTabAndSetupStorage(
    MAIN_DOMAIN_SECURED + "storage-empty-objectstores.html"
  );

  info("Select an indexedDB item");
  const idbItem = ["indexedDB", "https://test1.example.org", "idb1 (default)"];
  await selectTreeItem(idbItem);
  checkAddButtonState({ expectHidden: true });

  // Note: test only one of the other stoage types to check that the logic to
  // find the add button is not outdated. Other storage types have more detailed
  // tests focused on the add feature.
  info("Select a cookie item");
  const cookieItem = ["cookies", "https://test1.example.org"];
  await selectTreeItem(cookieItem);
  checkAddButtonState({ expectHidden: false });
});

function checkAddButtonState({ expectHidden }) {
  const toolbar = gPanelWindow.document.getElementById("storage-toolbar");
  const addButton = toolbar.querySelector("#add-button");
  is(
    addButton.hidden,
    expectHidden,
    `The add button is ${expectHidden ? "hidden" : "displayed"}`
  );
}