| 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 |
| |