1
0
Fork 0
firefox/testing/web-platform/tests/IndexedDB/delete-range.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

44 lines
1.6 KiB
JavaScript

// META: title=Delete range
// META: script=resources/support.js
"use strict";
let entries = [
{ lower: 3, upper: 8, lowerOpen: false, upperOpen: false, expected: [1, 2, 9, 10]},
{ lower: 3, upper: 8, lowerOpen: true, upperOpen: false, expected: [1, 2, 3, 9, 10]},
{ lower: 3, upper: 8, lowerOpen: false, upperOpen: true, expected: [1, 2, 8, 9, 10]},
{ lower: 3, upper: 8, lowerOpen: true, upperOpen: true, expected: [1, 2, 3, 8, 9, 10]}
];
for (const entry of entries) {
indexeddb_test(
function upgrade_func(t, db) {
db.createObjectStore("store");
},
function open_func(t, db) {
const store = db.transaction("store", "readwrite").objectStore("store");
for (let i = 1; i <= 10; ++i) {
store.put(i, i);
}
store.delete(IDBKeyRange.bound(entry.lower,
entry.upper,
entry.lowerOpen,
entry.upperOpen));
let keys = [];
const cursor_request = store.openCursor();
cursor_request.onsuccess = t.step_func(function () {
const cursor = cursor_request.result;
if (cursor) {
keys.push(cursor.key);
cursor.continue();
} else {
assert_array_equals(entry.expected, keys, `Expected: ${entry.expected}, got: ${keys}.`);
t.done();
}
});
cursor_request.onerror = t.unreached_func("Failed to open cursor for read request.");
}
)
}