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: michael@0: let request = indexedDB.open(name, 1); michael@0: request.onerror = errorHandler; michael@0: request.onsuccess = grabEventAndContinueHandler; michael@0: let event = yield undefined; michael@0: michael@0: let db = event.target.result; michael@0: michael@0: // Check default state. michael@0: is(db.version, 1, "Correct default version for a new database."); michael@0: michael@0: const versions = [ michael@0: 7, michael@0: 42, michael@0: ]; michael@0: michael@0: db.close(); michael@0: michael@0: for (let i = 0; i < versions.length; i++) { michael@0: let version = versions[i]; michael@0: michael@0: let request = indexedDB.open(name, version); 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: is(db.version, version, "Database version number updated correctly"); michael@0: is(event.target.transaction.mode, "versionchange", "Correct mode"); michael@0: michael@0: executeSoon(function() { testGenerator.next(); }); michael@0: yield undefined; michael@0: db.close(); michael@0: } michael@0: michael@0: finishTest(); michael@0: yield undefined; michael@0: } michael@0: