1
0
Fork 0
firefox/testing/web-platform/tests/IndexedDB/close-in-upgradeneeded.any.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

39 lines
972 B
JavaScript

// META: title=IndexedDB
// META: global=window,worker
// META: script=resources/support.js
'use strict';
async_test(t => {
let db;
let open_rq = createdb(t);
let sawTransactionComplete = false;
open_rq.onupgradeneeded = function(e) {
db = e.target.result;
assert_equals(db.version, 1);
db.createObjectStore('os');
db.close();
e.target.transaction.oncomplete = function() {
sawTransactionComplete = true;
};
};
open_rq.onerror = function(e) {
assert_true(sawTransactionComplete, 'saw transaction.complete');
assert_equals(e.target.error.name, 'AbortError');
assert_equals(e.result, undefined);
assert_true(!!db);
assert_equals(db.version, 1);
assert_equals(db.objectStoreNames.length, 1);
assert_throws_dom('InvalidStateError', function() {
db.transaction('os', 'readonly');
});
t.done();
};
}, 'When db.close() is called in onupgradeneeded, the db is cleaned up on refresh');