| Index: third_party/WebKit/LayoutTests/http/tests/inspector/indexeddb/database-refresh-view.html
|
| diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector/indexeddb/database-refresh-view.html b/third_party/WebKit/LayoutTests/http/tests/inspector/indexeddb/database-refresh-view.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5f15cc358580e832b4858edaa63122dc9cd3b906
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/http/tests/inspector/indexeddb/database-refresh-view.html
|
| @@ -0,0 +1,89 @@
|
| +<html>
|
| +<head>
|
| +<script src="../inspector-test.js"></script>
|
| +<script src="../resources-test.js"></script>
|
| +<script src="../console-test.js"></script>
|
| +<script src="indexeddb-test.js"></script>
|
| +<script>
|
| +
|
| +window.debugTest = true;
|
| +async function test()
|
| +{
|
| + var databaseName = "testDatabase";
|
| + var objectStoreName = "testObjectStore";
|
| +
|
| + function createIndexedDB(callback) {
|
| + var mainFrameId = InspectorTest.resourceTreeModel.mainFrame.id;
|
| + var model = InspectorTest.mainTarget.model(Resources.IndexedDBModel);
|
| + InspectorTest.createDatabase(mainFrameId, "testDatabase", () => {
|
| + var event = model.addEventListener(Resources.IndexedDBModel.Events.DatabaseAdded, () => {
|
| + Common.EventTarget.removeEventListeners([event]);
|
| + callback();
|
| + });
|
| + });
|
| + }
|
| +
|
| + function createObjectStore(callback) {
|
| + var mainFrameId = InspectorTest.resourceTreeModel.mainFrame.id;
|
| + InspectorTest.createObjectStore(mainFrameId, databaseName, objectStoreName, "key", true, callback);
|
| + }
|
| +
|
| + function createObjectStoreIndex(callback) {
|
| + var mainFrameId = InspectorTest.resourceTreeModel.mainFrame.id;
|
| + InspectorTest.createObjectStoreIndex(mainFrameId, databaseName, objectStoreName, "testIndex", "value", false, true, callback);
|
| + }
|
| +
|
| + function addIDBValue(callback) {
|
| + InspectorTest.addIDBValue(callback, databaseName, objectStoreName, "testValue", "testKey");
|
| + }
|
| +
|
| + function dumpCurrentObjectStore() {
|
| + InspectorTest.addResult("Current ObjectStore view:");
|
| +
|
| + var objectStoreTreeElement = UI.panels.resources._sidebar.indexedDBListTreeElement.childAt(0).childAt(0);
|
| + InspectorTest.addResult("Object store: " + objectStoreTreeElement.title);
|
| + var entries = objectStoreTreeElement._view._entries;
|
| + if (!entries.length) {
|
| + InspectorTest.addResult(" (no entries)");
|
| + } else {
|
| + for (var j = 0; j < entries.length; ++j) {
|
| + InspectorTest.addResult(" Key = " + entries[j].key + ", value = " + entries[j].value);
|
| + }
|
| + }
|
| + }
|
| +
|
| + await new Promise(createIndexedDB);
|
| + await new Promise(createObjectStore);
|
| + await new Promise(createObjectStoreIndex);
|
| +
|
| + var databaseTreeElement = UI.panels.resources._sidebar.indexedDBListTreeElement.childAt(0);
|
| + databaseTreeElement._addIndexedDB(model, model.databaseId);
|
| + databaseTreeElement.onselect(false);
|
| + InspectorTest.addResult("Created database view.");
|
| + var objectstoreTreeElement = databaseTreeElement.childAt(0);
|
| + objectstoreTreeElement.onselect(false);
|
| + InspectorTest.addResult("Created data view.");
|
| +
|
| + var databaseView = databaseTreeElement._view;
|
| + var dataView = objectstoreTreeElement._view;
|
| +
|
| + dumpCurrentObjectStore();
|
| +
|
| + await new Promise(addIDBValue);
|
| + InspectorTest.addResult("Added objectstore entry.");
|
| +
|
| + dumpCurrentObjectStore();
|
| +
|
| + databaseView._refreshDatabase();
|
| + InspectorTest.addResult("Refreshed database view.");
|
| +
|
| + dumpCurrentObjectStore();
|
| +
|
| + InspectorTest.completeTest();
|
| +}
|
| +</script>
|
| +</head>
|
| +<body onload="runTest()">
|
| +<p>Tests refreshing the database information and data views.</p>
|
| +</body>
|
| +</html>
|
|
|