blob: b8f18d0ca7ca983a26773a9b5d320eea4e3c22d2 (
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
|
/* 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 is not broken when several updates
// come in quick succession. See bug 1260380 - it could happen that the
// "Parsed Value" section gets duplicated.
"use strict";
add_task(async function () {
const ITEM_NAME = "ls1";
const UPDATE_COUNT = 3;
await openTabAndSetupStorage(
MAIN_DOMAIN_SECURED + "storage-complex-values.html"
);
const updated = gUI.once("sidebar-updated");
await selectTreeItem(["localStorage", "https://test1.example.org"]);
await selectTableItem(ITEM_NAME);
await updated;
is(gUI.sidebar.hidden, false, "sidebar is visible");
// do several updates in a row and wait for them to finish
const updates = [];
for (let i = 0; i < UPDATE_COUNT; i++) {
info(`Performing update #${i}`);
updates.push(gUI.once("sidebar-updated"));
gUI.updateObjectSidebar();
}
await Promise.all(updates);
info("Updates performed, going to verify result");
const parsedScope = gUI.view.getScopeAtIndex(1);
const elements = parsedScope.target.querySelectorAll(
`.name[value="${ITEM_NAME}"]`
);
is(
elements.length,
1,
`There is only one displayed variable named '${ITEM_NAME}'`
);
});
|