if (this.importScripts) {
importScripts('../../../resources/js-test.js');
importScripts('shared.js');
}
description("Test that data inserted into IndexedDB does not get corrupted on disk.");
indexedDBTest(prepareDatabase, addData);
function prepareDatabase()
{
db = event.target.result;
debug("setVersionSuccess():");
shouldBeEqualToString("event.dataLoss", "none");
self.trans = evalAndLog("trans = event.target.transaction");
shouldBeNonNull("trans");
trans.onabort = unexpectedAbortCallback;
evalAndLog("db.createObjectStore('storeName')");
}
var testDate = new Date('February 24, 1955 12:00:08');
function addData()
{
debug("addData():");
var transaction = evalAndLog("transaction = db.transaction(['storeName'], 'readwrite')");
var request = evalAndLog("request = transaction.objectStore('storeName').add({x: testDate}, 'key')");
request.onerror = unexpectedErrorCallback;
transaction.oncomplete = getData;
}
function getData()
{
debug("addData():");
var transaction = evalAndLog("transaction = db.transaction(['storeName'], 'readonly')");
var request = evalAndLog("request = transaction.objectStore('storeName').get('key')");
request.onerror = unexpectedErrorCallback;
request.onsuccess = doCheck;
}
function doCheck()
{
shouldBe("event.target.result.x.toString()", "testDate.toString()");
finishJSTest();
}