Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

// META: title=IndexedDB
// META: global=window,worker
// META: script=resources/support.js
'use strict';
async_test(t => {
let db;
let open_rq = createdb(t, undefined, 2);
open_rq.onupgradeneeded = function(e) {
db = e.target.result;
assert_equals(db.version, 2);
let transaction = e.target.transaction;
transaction.oncomplete = fail(t, 'unexpected transaction.complete');
transaction.onabort = function(e) {
assert_equals(e.target.db.version, 0);
};
db.onabort = function() {};
transaction.abort();
};
open_rq.onerror = function(e) {
assert_equals(open_rq, e.target);
assert_equals(e.target.result, undefined);
assert_equals(e.target.error.name, 'AbortError');
assert_equals(db.version, 0);
assert_equals(open_rq.transaction, null);
t.done();
};
}, 'An abort() in the initial onupgradeneeded sets version back to 0');