// 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');