--- a/devtools/client/storage/test/browser_storage_search.js
+++ b/devtools/client/storage/test/browser_storage_search.js
@@ -1,17 +1,22 @@
// Tests the filter search box in the storage inspector
"use strict";
add_task(function* () {
yield openTabAndSetupStorage(MAIN_DOMAIN + "storage-search.html");
- let $$ = sel => gPanelWindow.document.querySelectorAll(sel);
gUI.tree.expandAll();
- yield selectTreeItem(["localStorage", "http://test1.example.org"]);
+ yield selectTreeItem(["cookies", "http://test1.example.org"]);
+
+ showColumn("expires", false);
+ showColumn("host", false);
+ showColumn("isHttpOnly", false);
+ showColumn("lastAccessed", false);
+ showColumn("path", false);
// Results: 0=hidden, 1=visible
let testcases = [
// Test that search isn't case-sensitive
{
value: "FoO",
results: [0, 0, 1, 1, 0, 1, 0]
},
@@ -47,41 +52,88 @@ add_task(function* () {
},
{
value: "bar",
results: [0, 0, 1, 1, 0, 0, 0]
},
// Test input with whitespace
{
value: "energy b",
- results: [0, 0, 0, 1, 0, 0, 0]
+ results: [0, 0, 1, 0, 0, 0, 0]
},
// Test no input at all
{
value: "",
results: [1, 1, 1, 1, 1, 1, 1]
},
// Test input that matches nothing
{
value: "input that matches nothing",
results: [0, 0, 0, 0, 0, 0, 0]
- }
+ },
];
+ let testcasesAfterHiding = [
+ // Test that search isn't case-sensitive
+ {
+ value: "OR",
+ results: [0, 0, 0, 0, 0, 1, 0]
+ },
+ {
+ value: "01",
+ results: [1, 0, 0, 0, 0, 0, 0]
+ },
+ {
+ value: "2016",
+ results: [0, 0, 0, 0, 0, 0, 0]
+ },
+ {
+ value: "56789",
+ results: [0, 0, 0, 0, 0, 0, 0]
+ },
+ // Test filtering by value
+ {
+ value: "horse",
+ results: [0, 0, 0, 0, 0, 0, 0]
+ },
+ {
+ value: "$$$",
+ results: [0, 0, 0, 0, 0, 0, 0]
+ },
+ {
+ value: "bar",
+ results: [0, 0, 0, 0, 0, 0, 0]
+ },
+ // Test input with whitespace
+ {
+ value: "energy b",
+ results: [0, 0, 0, 0, 0, 0, 0]
+ },
+ ];
+
+ runTests(testcases);
+ showColumn("value", false);
+ runTests(testcasesAfterHiding);
+
+ yield finishTests();
+});
+
+function runTests(testcases) {
+ let $$ = sel => gPanelWindow.document.querySelectorAll(sel);
let names = $$("#name .table-widget-cell");
let rows = $$("#value .table-widget-cell");
for (let testcase of testcases) {
- info(`Testing input: ${testcase.value}`);
+ let {value, results} = testcase;
- gUI.searchBox.value = testcase.value;
+ info(`Testing input: ${value}`);
+
+ gUI.searchBox.value = value;
gUI.filterItems();
for (let i = 0; i < rows.length; i++) {
- info(`Testing row ${i}`);
+ info(`Testing row ${i} for "${value}"`);
info(`key: ${names[i].value}, value: ${rows[i].value}`);
- let state = testcase.results[i] ? "visible" : "hidden";
- is(rows[i].hasAttribute("hidden"), !testcase.results[i],
+ let state = results[i] ? "visible" : "hidden";
+ is(rows[i].hasAttribute("hidden"), !results[i],
`Row ${i} should be ${state}`);
}
}
-
- yield finishTests();
-});
+}