41 lines
1.5 KiB
JavaScript
41 lines
1.5 KiB
JavaScript
if (this.importScripts) {
|
|
importScripts('../../../resources/js-test.js');
|
|
importScripts('shared.js');
|
|
}
|
|
|
|
description("Test IndexedDB's create and removeObjectStore");
|
|
|
|
indexedDBTest(prepareDatabase, setVersionComplete);
|
|
function prepareDatabase()
|
|
{
|
|
db = event.target.result;
|
|
event.target.transaction.onabort = unexpectedAbortCallback;
|
|
os = evalAndLog("db.createObjectStore('tmp')");
|
|
evalAndExpectException("db.createObjectStore('tmp')", "0", "'ConstraintError'");
|
|
}
|
|
|
|
function setVersionComplete()
|
|
{
|
|
trans = evalAndLog("trans = db.transaction(['tmp'])");
|
|
request = evalAndLog("trans.objectStore('tmp').get(0)");
|
|
request.onsuccess = tryToCreateAndDelete;
|
|
request.onerror = unexpectedErrorCallback;
|
|
}
|
|
|
|
function tryToCreateAndDelete()
|
|
{
|
|
shouldBeUndefined("event.target.result");
|
|
|
|
debug("Trying create");
|
|
evalAndExpectException('db.createObjectStore("some os")', "DOMException.INVALID_STATE_ERR", "'InvalidStateError'");
|
|
debug("Trying remove");
|
|
evalAndExpectException('db.deleteObjectStore("some os")', "DOMException.INVALID_STATE_ERR", "'InvalidStateError'");
|
|
|
|
debug("Trying create with store that already exists");
|
|
evalAndExpectException("db.createObjectStore('tmp')", "DOMException.INVALID_STATE_ERR", "'InvalidStateError'");
|
|
debug("Trying remove with store that already exists");
|
|
evalAndExpectException("db.deleteObjectStore('tmp')", "DOMException.INVALID_STATE_ERR", "'InvalidStateError'");
|
|
|
|
finishJSTest();
|
|
}
|