blob: 2c22cf4d8818058385b42a3e79b112ecc37cd2f8 [file] [log] [blame]
Test IndexedDB binary keys
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB;
indexedDB.deleteDatabase(dbname)
indexedDB.open(dbname)
db.createObjectStore('store');
db.createObjectStore('storeWithKeyPath', {keyPath: 'binary'});
testBinaryKeys1():
trans = db.transaction('store', 'readwrite')
store = trans.objectStore('store')
store.put(0, new Uint8Array([]));
store.put(1, new Uint8Array([0]));
store.put(2, new Uint8Array([0, 0]));
store.put(3, new Uint8Array([0, 1]));
store.put(4, new Uint8Array([1]));
store.put(5, new Uint8Array([1, 0]));
store.put(6, new Uint8Array([1, 1]));
store.put(7, new Uint8Array([255]));
testBinaryKeys2():
trans = db.transaction('store', 'readwrite')
store = trans.objectStore('store')
store.put('value', new Uint8ClampedArray([1,2,3]))
store.put('value', new Uint16Array([1,2,3]))
store.put('value', new Uint32Array([1,2,3]))
store.put('value', new Int8Array([1,2,3]))
store.put('value', new Int16Array([1,2,3]))
store.put('value', new Int32Array([1,2,3]))
store.put('value', new Float32Array([1,2,3]))
store.put('value', new Float64Array([1,2,3]))
store.put('value', new Uint8Array([1,2,3]).buffer)
store.put('value', new DataView(new Uint8Array([1,2,3]).buffer))
testBinaryKeys3():
trans = db.transaction('storeWithKeyPath', 'readwrite')
store = trans.objectStore('storeWithKeyPath')
binary = new Uint8ClampedArray([1,2,3])
store.put({ binary })
request = store.get(binary)
PASS binary.constructor === request.result.binary.constructor is true
binary = new Uint16Array([1,2,3])
store.put({ binary })
request = store.get(binary)
PASS binary.constructor === request.result.binary.constructor is true
binary = new Uint32Array([1,2,3])
store.put({ binary })
request = store.get(binary)
PASS binary.constructor === request.result.binary.constructor is true
binary = new Int8Array([1,2,3])
store.put({ binary })
request = store.get(binary)
PASS binary.constructor === request.result.binary.constructor is true
binary = new Int16Array([1,2,3])
store.put({ binary })
request = store.get(binary)
PASS binary.constructor === request.result.binary.constructor is true
binary = new Int32Array([1,2,3])
store.put({ binary })
request = store.get(binary)
PASS binary.constructor === request.result.binary.constructor is true
binary = new Float32Array([1,2,3])
store.put({ binary })
request = store.get(binary)
PASS binary.constructor === request.result.binary.constructor is true
binary = new Float64Array([1,2,3])
store.put({ binary })
request = store.get(binary)
PASS binary.constructor === request.result.binary.constructor is true
binary = new Uint8Array([1,2,3]).buffer
store.put({ binary })
request = store.get(binary)
PASS binary.constructor === request.result.binary.constructor is true
binary = new DataView(new Uint8Array([1,2,3]).buffer)
store.put({ binary })
request = store.get(binary)
PASS binary.constructor === request.result.binary.constructor is true
PASS successfullyParsed is true
TEST COMPLETE