blob: b640b8d9bd3af4951f0efb1fd419432b589b0fd4 [file] [log] [blame]
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
(async function() {
TestRunner.addResult(`Tests accessibility in the Clear Storage view using the axe-core linter.`);
await TestRunner.loadModule('application_test_runner');
await TestRunner.loadModule('axe_core_test_runner');
await ApplicationTestRunner.resetState();
await TestRunner.showPanel('resources');
await UI.viewManager.showView('resources');
const parent = UI.panels.resources._sidebar._applicationTreeElement;
const clearStorageElement = parent.children().find(child => child.title === ls`Clear storage`);
clearStorageElement.select();
const clearStorageView = UI.panels.resources.visibleView;
TestRunner.addResult('Clear storage view is visible: ' + (clearStorageView instanceof Resources.ClearStorageView));
async function writeArray() {
const array = Array(1).fill(0);
const mainFrameId = TestRunner.resourceTreeModel.mainFrame.id;
await new Promise(resolve => ApplicationTestRunner.createDatabase(mainFrameId, 'Database1', resolve));
await new Promise(
resolve => ApplicationTestRunner.createObjectStore(mainFrameId, 'Database1', 'Store1', 'id', true, resolve));
await new Promise(
resolve =>
ApplicationTestRunner.addIDBValue(mainFrameId, 'Database1', 'Store1', {key: 1, value: array}, '', resolve));
}
await writeArray();
await AxeCoreTestRunner.runValidation(clearStorageView.contentElement);
TestRunner.completeTest();
})();