// Tests the filter search box in the storage inspector
"use strict" ;
add_task(async
function () {
await openTabAndSetupStorage(MAIN_DOMAIN_SECURED +
"storage-search.html" );
gUI.tree.expandAll();
await selectTreeItem([
"cookies" ,
"https://test1.example.org "]);
showColumn(
"expires" ,
false );
showColumn(
"host" ,
false );
showColumn(
"isHttpOnly" ,
false );
showColumn(
"lastAccessed" ,
false );
showColumn(
"path" ,
false );
// Results: 0=hidden, 1=visible
const testcases = [
// Test that search isn't case-sensitive
{
value:
"FoO" ,
results: [
0 ,
0 ,
1 ,
1 ,
0 ,
1 ,
0 ],
},
{
value:
"OR" ,
results: [
0 ,
1 ,
0 ,
0 ,
0 ,
1 ,
0 ],
},
{
value:
"aNImAl" ,
results: [
0 ,
1 ,
0 ,
0 ,
0 ,
0 ,
0 ],
},
// Test numbers
{
value:
"01" ,
results: [
1 ,
0 ,
0 ,
0 ,
0 ,
0 ,
1 ],
},
{
value:
"2016" ,
results: [
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
1 ],
},
{
value:
"56789" ,
results: [
1 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ],
},
// Test filtering by value
{
value:
"horse" ,
results: [
0 ,
1 ,
0 ,
0 ,
0 ,
0 ,
0 ],
},
{
value:
"$$$" ,
results: [
0 ,
0 ,
0 ,
0 ,
1 ,
0 ,
0 ],
},
{
value:
"bar" ,
results: [
0 ,
0 ,
1 ,
1 ,
0 ,
0 ,
0 ],
},
// Test input with whitespace
{
value:
"energy b" ,
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 ],
},
];
const 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);
});
function runTests(testcases) {
const $$ = sel => gPanelWindow.document.querySelectorAll(sel);
const names = $$(
"#name .table-widget-cell" );
const rows = $$(
"#value .table-widget-cell" );
for (
const testcase of testcases) {
const { value, results } = testcase;
info(`Testing input: ${value}`);
gUI.searchBox.value = value;
gUI.filterItems();
for (let i =
0 ; i < rows.length; i++) {
info(`Testing row ${i}
for "${value}" `);
info(`key: ${names[i].value}, value: ${rows[i].value}`);
const state = results[i] ?
"visible" :
"hidden" ;
is(
rows[i].hasAttribute(
"hidden" ),
!results[i],
`Row ${i} should be ${state}`
);
}
}
}
Messung V0.5 in Prozent C=98 H=97 G=97
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-06-06)
¤
*© Formatika GbR, Deutschland