blob: 41cf8e81164d7a67e010c350404325a6319e7979 [file] [log] [blame]
// META: title= IndexedDB: Detached buffers supplied as binary keys
// META: global=window,worker
// META: script=resources/support.js
// Specs:
// http://w3c.github.io/IndexedDB/#convert-a-value-to-a-key
// https://webidl.spec.whatwg.org/#dfn-get-buffer-source-copy
"use strict";
indexeddb_test(
(t, db) => { db.createObjectStore('store'); },
(t, db) => {
const tx = db.transaction('store', 'readwrite');
const store = tx.objectStore('store');
const array = createDetachedArrayBuffer();
const buffer = array.buffer;
assert_throws_dom("DataError", () => { store.put('', buffer); });
assert_throws_dom("DataError", () => { store.put('', [buffer]); });
t.done();
},
'Detached ArrayBuffers must throw DataError when used as a key'
);
indexeddb_test(
(t, db) => { db.createObjectStore('store'); },
(t, db) => {
const tx = db.transaction('store', 'readwrite');
const store = tx.objectStore('store');
const array = createDetachedArrayBuffer();
assert_throws_dom("DataError", () => { store.put('', array); });
assert_throws_dom("DataError", () => { store.put('', [array]); });
t.done();
},
'Detached TypedArrays must throw DataError when used as a key'
);