Test that an abort in the initial upgradeneeded sets version back to 0

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB;

indexedDB.deleteDatabase(dbname)
indexedDB.open(dbname, 2)
request.onupgradeneeded = upgradeNeeded
request.onerror = onError

upgradeNeeded():
PASS db.version is 2
transaction.abort()

onAbort():
PASS event.target.db.version is 0
PASS request.transaction is non-null.

onError():
PASS event.target.result is undefined
PASS request is event.target
PASS event.target.error.name is "AbortError"
PASS request.transaction is null
PASS successfullyParsed is true

TEST COMPLETE

