'use strict';
function doTest() {
const dbname = 'delete-open-use-test';
indexedDB.deleteDatabase(dbname);
let openRequest = indexedDB.open(dbname, 1);
openRequest.onerror = unexpectedErrorCallback;
openRequest.onupgradeneeded = (event) => {
const connection = event.target.result;
connection.onversionchange = () => connection.close();
};
openRequest.onblocked = unexpectedBlockedCallback;
let deleteRequest = indexedDB.deleteDatabase(dbname);
deleteRequest.onerror = unexpectedErrorCallback;
deleteRequest.onblocked = unexpectedBlockedCallback;
deleteRequest.onsuccess =
() => {
indexedDB.databases().then((dbs) => {
if (dbs.length !== 0) {
fail('Expected no databases, but found ' + dbs.length);
}
});
}
let connection;
let recreateRequest = indexedDB.open(dbname, 1);
recreateRequest.onupgradeneeded = (event) => {
connection = event.target.result;
};
recreateRequest.onsuccess = (event) => {
indexedDB.databases().then((dbs) => {
if (dbs.length !== 1) {
fail('Expected 1 database, but found ' + dbs.length);
}
});
connection.close();
const reopenRequest = indexedDB.open(dbname, 1);
reopenRequest.onupgradeneeded = unexpectedUpgradeNeededCallback;
reopenRequest.onblocked = unexpectedBlockedCallback;
reopenRequest.onsuccess = done;
};
}