michael@0: /** michael@0: * Any copyright is dedicated to the Public Domain. michael@0: * http://creativecommons.org/publicdomain/zero/1.0/ michael@0: */ michael@0: michael@0: var testGenerator = testSteps(); michael@0: michael@0: function testSteps() michael@0: { michael@0: const name = this.window ? window.location.pathname : "Splendid Test"; michael@0: const objectStoreName = "Objects"; michael@0: michael@0: let testString = { key: 0, value: "testString" }; michael@0: let testInt = { key: 1, value: 1002 }; michael@0: michael@0: let request = indexedDB.open(name, 1); michael@0: request.onerror = errorHandler; michael@0: request.onupgradeneeded = grabEventAndContinueHandler; michael@0: let event = yield undefined; michael@0: michael@0: let db = event.target.result; michael@0: michael@0: let objectStore = db.createObjectStore(objectStoreName, michael@0: { autoIncrement: 0 }); michael@0: michael@0: request = objectStore.add(testString.value, testString.key); michael@0: request.onerror = errorHandler; michael@0: request.onsuccess = function(event) { michael@0: is(event.target.result, testString.key, "Got the right key"); michael@0: request = objectStore.get(testString.key); michael@0: request.onerror = errorHandler; michael@0: request.onsuccess = function(event) { michael@0: is(event.target.result, testString.value, "Got the right value"); michael@0: }; michael@0: }; michael@0: michael@0: request = objectStore.add(testInt.value, testInt.key); michael@0: request.onerror = errorHandler; michael@0: request.onsuccess = function(event) { michael@0: is(event.target.result, testInt.key, "Got the right key"); michael@0: request = objectStore.get(testInt.key); michael@0: request.onerror = errorHandler; michael@0: request.onsuccess = function(event) { michael@0: is(event.target.result, testInt.value, "Got the right value"); michael@0: finishTest(); michael@0: }; michael@0: } michael@0: michael@0: yield undefined; michael@0: } michael@0: