// META: global=window,worker // META: title=IDBObjectStore.openCursor() - iterate through 100 objects // META: script=resources/support.js 'use strict'; async_test(t => { let db; const open_rq = createdb(t); open_rq.onupgradeneeded = t.step_func(e => { db = e.target.result; let store = db.createObjectStore('store'); for (let i = 0; i < 100; i++) store.add('record_' + i, i); }); open_rq.onsuccess = t.step_func(e => { let count = 0; let txn = db.transaction('store', 'readonly'); txn.objectStore('store').openCursor().onsuccess = t.step_func(function(e) { if (e.target.result) { count += 1; e.target.result.continue(); } }) txn.oncomplete = t.step_func(function() { assert_equals(count, 100); t.done(); }) }); });