Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* 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 filter value input works in the sidebar.
"use strict";
add_task(async function () {
await openTabAndSetupStorage(
MAIN_DOMAIN_SECURED + "storage-complex-values.html"
);
const updated = gUI.once("sidebar-updated");
await selectTreeItem(["localStorage", "https://test1.example.org"]);
await selectTableItem("ls1");
await updated;
const doc = gPanelWindow.document;
let properties = doc.querySelectorAll(`.variables-view-property`);
let unmatched = doc.querySelectorAll(`.variables-view-property[unmatched]`);
is(properties.length, 5, "5 properties in total before filtering");
is(unmatched.length, 0, "No unmatched properties before filtering");
info("Focus the filter input and type 'es6' to filter out entries");
doc.querySelector(".variables-view-searchinput").focus();
EventUtils.synthesizeKey("es6", {}, gPanelWindow);
await waitFor(
() =>
doc.querySelectorAll(`.variables-view-property[unmatched]`).length == 3
);
info("Updates performed, going to verify result");
properties = doc.querySelectorAll(`.variables-view-property`);
unmatched = doc.querySelectorAll(`.variables-view-property[unmatched]`);
is(properties.length, 5, "5 properties in total after filtering");
// Note: even though only one entry matches, since the VariablesView displays
// it as a tree, we also have one matched .variables-view-property for the
// parent.
is(unmatched.length, 3, "Three unmatched properties after filtering");
});