Test IndexedDB cursor.update required arguments

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)
db.createObjectStore('autoIncrement', { autoIncrement: true });
request = objectStore.openCursor();
keys = [1, -1, 0, 10, 2000, 'q', 'z', 'two', 'b', 'a'];
keyIndex = 0;
request = objectStore.add('foo', keys[i]);
request = objectStore.add('foo', keys[i]);
request = objectStore.add('foo', keys[i]);
request = objectStore.add('foo', keys[i]);
request = objectStore.add('foo', keys[i]);
request = objectStore.add('foo', keys[i]);
request = objectStore.add('foo', keys[i]);
request = objectStore.add('foo', keys[i]);
request = objectStore.add('foo', keys[i]);
request = objectStore.add('foo', keys[i]);
request = objectStore.openCursor();
cursor = event.target.result;
PASS cursor.update(); threw exception TypeError: Not enough arguments.
PASS successfullyParsed is true

TEST COMPLETE

