Chromium Code Reviews| 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..c457520b3cff87faf17ae9f9b00c888286e85812 |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/http/tests/inspector/indexeddb/database-refresh-view.html |
| @@ -0,0 +1,88 @@ |
| +<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) { |
|
dmurph
2017/05/23 21:22:05
See style guide:
https://google.github.io/stylegui
kristipark
2017/05/26 01:09:28
Done.
|
| + 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); |
|
dmurph
2017/05/23 21:22:05
Can you iterate each object store?
kristipark
2017/05/26 01:09:28
Done.
|
| + 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.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."); |
|
dmurph
2017/05/23 21:22:05
Can you also add another object store? - This migh
kristipark
2017/05/26 01:09:28
Done.
|
| + |
| + 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> |