blob: d71be932a13720c28f3a89b579cf90c92b113229 [file] [edit]
// Copyright 2026 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import {
navigateToApplicationTab,
} from '../helpers/application-helpers.js';
import type {DevToolsPage} from '../shared/frontend-helper.js';
import type {InspectedPage} from '../shared/target-helper.js';
export async function navigateToBucketViaDbMetadata(
devToolsPage: DevToolsPage, inspectedPage: InspectedPage, subPanel: string, dbSelector: string) {
await navigateToApplicationTab(devToolsPage, inspectedPage, 'storage-buckets-link');
await devToolsPage.bringToFront();
await devToolsPage.reload();
await devToolsPage.doubleClick(`[aria-label="${subPanel}"]`);
const db = await devToolsPage.waitForAria(dbSelector);
await db.click();
await devToolsPage.waitFor('devtools-report');
const bucketNameLinkSelector = 'devtools-report-value devtools-link';
await devToolsPage.waitForVisible(bucketNameLinkSelector);
await devToolsPage.click(bucketNameLinkSelector);
await devToolsPage.waitFor('devtools-button[aria-label="Delete bucket"]');
}
describe('The Application Tab', () => {
setup({
dockingMode: 'undocked',
enabledFeatures: ['StorageBuckets'],
});
it('reveals storage bucket when clicking its name in IndexedDB metadata', async ({devToolsPage, inspectedPage}) => {
await navigateToBucketViaDbMetadata(devToolsPage, inspectedPage, 'IndexedDB', 'test-db');
});
it('reveals storage bucket when clicking its name in Cache Storage metadata',
async ({devToolsPage, inspectedPage}) => {
await navigateToBucketViaDbMetadata(
devToolsPage, inspectedPage, 'Cache storage', `test-cache - ${inspectedPage.domain()}/`);
});
});