OLD | NEW |
(Empty) | |
| 1 <html> |
| 2 <head> |
| 3 <script src="../inspector-test.js"></script> |
| 4 <script src="../resources-test.js"></script> |
| 5 <script src="../console-test.js"></script> |
| 6 <script src="indexeddb-test.js"></script> |
| 7 <script> |
| 8 |
| 9 window.debugTest = true; |
| 10 async function test() |
| 11 { |
| 12 var databaseName = "testDatabase"; |
| 13 var objectStoreName = "testObjectStore"; |
| 14 |
| 15 function createIndexedDB(callback) { |
| 16 var mainFrameId = InspectorTest.resourceTreeModel.mainFrame.id; |
| 17 var model = InspectorTest.mainTarget.model(Resources.IndexedDBModel); |
| 18 InspectorTest.createDatabase(mainFrameId, "testDatabase", () => { |
| 19 var event = model.addEventListener(Resources.IndexedDBModel.Events.D
atabaseAdded, () => { |
| 20 Common.EventTarget.removeEventListeners([event]); |
| 21 callback(); |
| 22 }); |
| 23 }); |
| 24 } |
| 25 |
| 26 function createObjectStore(callback) { |
| 27 var mainFrameId = InspectorTest.resourceTreeModel.mainFrame.id; |
| 28 InspectorTest.createObjectStore(mainFrameId, databaseName, objectStoreNa
me, "key", true, callback); |
| 29 } |
| 30 |
| 31 function createObjectStoreIndex(callback) { |
| 32 var mainFrameId = InspectorTest.resourceTreeModel.mainFrame.id; |
| 33 InspectorTest.createObjectStoreIndex(mainFrameId, databaseName, objectSt
oreName, "testIndex", "value", false, true, callback); |
| 34 } |
| 35 |
| 36 function addIDBValue(callback) { |
| 37 InspectorTest.addIDBValue(callback, databaseName, objectStoreName, "test
Value", "testKey"); |
| 38 } |
| 39 |
| 40 function dumpCurrentObjectStore() { |
| 41 InspectorTest.addResult("Current ObjectStore view:"); |
| 42 |
| 43 var objectStoreTreeElement = UI.panels.resources._sidebar.indexedDBListT
reeElement.childAt(0).childAt(0); |
| 44 InspectorTest.addResult("Object store: " + objectStoreTreeElement.title)
; |
| 45 var entries = objectStoreTreeElement._view._entries; |
| 46 if (!entries.length) { |
| 47 InspectorTest.addResult(" (no entries)"); |
| 48 } else { |
| 49 for (var j = 0; j < entries.length; ++j) { |
| 50 InspectorTest.addResult(" Key = " + entries[j].key +
", value = " + entries[j].value); |
| 51 } |
| 52 } |
| 53 } |
| 54 |
| 55 await new Promise(createIndexedDB); |
| 56 await new Promise(createObjectStore); |
| 57 await new Promise(createObjectStoreIndex); |
| 58 |
| 59 var databaseTreeElement = UI.panels.resources._sidebar.indexedDBListTreeElem
ent.childAt(0); |
| 60 databaseTreeElement._addIndexedDB(model, model.databaseId); |
| 61 databaseTreeElement.onselect(false); |
| 62 InspectorTest.addResult("Created database view."); |
| 63 var objectstoreTreeElement = databaseTreeElement.childAt(0); |
| 64 objectstoreTreeElement.onselect(false); |
| 65 InspectorTest.addResult("Created data view."); |
| 66 |
| 67 var databaseView = databaseTreeElement._view; |
| 68 var dataView = objectstoreTreeElement._view; |
| 69 |
| 70 dumpCurrentObjectStore(); |
| 71 |
| 72 await new Promise(addIDBValue); |
| 73 InspectorTest.addResult("Added objectstore entry."); |
| 74 |
| 75 dumpCurrentObjectStore(); |
| 76 |
| 77 databaseView._refreshDatabase(); |
| 78 InspectorTest.addResult("Refreshed database view."); |
| 79 |
| 80 dumpCurrentObjectStore(); |
| 81 |
| 82 InspectorTest.completeTest(); |
| 83 } |
| 84 </script> |
| 85 </head> |
| 86 <body onload="runTest()"> |
| 87 <p>Tests refreshing the database information and data views.</p> |
| 88 </body> |
| 89 </html> |
OLD | NEW |