fune/testing/web-platform/tests/IndexedDB/idbobjectstore-query-exception-order.html
Nathan Memmott 203bddb834 Bug 1797598 [wpt PR 36674] - Update IndexedDB web tests to durability relaxed, a=testonly
Automatic update from web-platform-tests
Update IndexedDB web tests to durability relaxed

Updates IndexedDB web tests to use the durability relaxed option
for transactions. This will speed up trybots.

Bug: 1258341
Change-Id: I0bfdc1e8adb1490d41b196f6711bdb4131dbe4bc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3984246
Reviewed-by: Evan Stade <estade@chromium.org>
Commit-Queue: Nathan Memmott <memmott@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1063963}

--

wpt-commits: 8ce3ff8d1c66775db8c21692270ff0e05c366630
wpt-pr: 36674
2022-11-11 12:32:26 +00:00

65 lines
2 KiB
HTML

<!doctype html>
<meta charset=utf-8>
<title>IndexedDB: IDBObjectStore query method Ordering</title>
<link rel="help" href="https://w3c.github.io/IndexedDB/#dom-idbobjectstore-get">
<link rel="help" href="https://w3c.github.io/IndexedDB/#dom-idbobjectstore-getall">
<link rel="help" href="https://w3c.github.io/IndexedDB/#dom-idbobjectstore-getallkeys">
<link rel="help" href="https://w3c.github.io/IndexedDB/#dom-idbobjectstore-count">
<link rel="help" href="https://w3c.github.io/IndexedDB/#dom-idbobjectstore-opencursor">
<link rel="help" href="https://w3c.github.io/IndexedDB/#dom-idbobjectstore-openkeycursor">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/support.js"></script>
<script>
['get',
'getAll',
'getAllKeys',
'count',
'openCursor',
'openKeyCursor'
].forEach(method => {
indexeddb_test(
(t, db) => {
const store = db.createObjectStore('s');
const store2 = db.createObjectStore('s2');
db.deleteObjectStore('s2');
setTimeout(t.step_func(() => {
assert_throws_dom(
'InvalidStateError', () => { store2[method]('key'); },
'"has been deleted" check (InvalidStateError) should precede ' +
'"not active" check (TransactionInactiveError)');
t.done();
}), 0);
},
(t, db) => {},
`IDBObjectStore.${method} exception order: ` +
'InvalidStateError vs. TransactionInactiveError'
);
indexeddb_test(
(t, db) => {
const store = db.createObjectStore('s');
},
(t, db) => {
const tx = db.transaction('s', 'readonly', {durability: 'relaxed'});
const store = tx.objectStore('s');
setTimeout(t.step_func(() => {
assert_throws_dom(
'TransactionInactiveError', () => { store[method]({}); },
'"not active" check (TransactionInactiveError) should precede ' +
'query check (DataError)');
t.done();
}), 0);
},
`IDBObjectStore.${method} exception order: ` +
'TransactionInactiveError vs. DataError'
);
});
</script>