Test that integer versions are retained when backing store is opened/closed/re-opened.

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;

dbname = dbname + Date.now()

openFirstTime():
indexedDB.open(dbname, 1)
db = request.result
upgradeNeededFired = true
PASS db.version is 1
PASS db.objectStoreNames.length is 0
db.createObjectStore('store')
PASS upgradeNeededFired is true
db = request.result
PASS db.version is 1
PASS db.objectStoreNames.length is 1
db.close()

openSecondTime():
indexedDB.open(dbname, 1)
db = request.result
PASS db.version is 1
PASS db.objectStoreNames.length is 1
db.close()

PASS successfullyParsed is true

TEST COMPLETE

