summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/about/browser_aboutSupport_places.js
blob: 6f2d237cd3bb953ffaa102310e87fa9eaf6a5a4e (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
46
47
48
/* 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");
    }
  );
});