summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/about/browser_aboutSupport_places.js
blob: e971de7f0ee348cc44d993d05544765d5afd3b54 (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
36
37
38
39
40
41
42
43
44
45
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

add_task(async function test_places_db_stats_table() {
  await BrowserTestUtils.withNewTab(
    { gBrowser, url: "about:support" },
    async function (browser) {
      const [initialToggleText, toggleTextAfterShow, toggleTextAfterHide] =
        await SpecialPowers.spawn(browser, [], async function () {
          const toggleButton = content.document.getElementById(
            "place-database-stats-toggle"
          );
          const getToggleText = () =>
            content.document.l10n.getAttributes(toggleButton).id;
          const toggleTexts = [];
          const table = content.document.getElementById(
            "place-database-stats-tbody"
          );
          await ContentTaskUtils.waitForCondition(
            () => table.style.display === "none",
            "Stats table is hidden initially"
          );
          toggleTexts.push(getToggleText());
          toggleButton.click();
          await ContentTaskUtils.waitForCondition(
            () => table.style.display === "",
            "Stats table is shown after first toggle"
          );
          toggleTexts.push(getToggleText());
          toggleButton.click();
          await ContentTaskUtils.waitForCondition(
            () => table.style.display === "none",
            "Stats table is hidden after second toggle"
          );
          toggleTexts.push(getToggleText());
          return toggleTexts;
        });
      Assert.equal(initialToggleText, "place-database-stats-show");
      Assert.equal(toggleTextAfterShow, "place-database-stats-hide");
      Assert.equal(toggleTextAfterHide, "place-database-stats-show");
    }
  );
});