Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / storage / indexeddb / keypath-arrays-expected.txt
blobf832f1a6d3772da84c7731ca1181d828d00b282b
1 Test IndexedDB Array-type keyPaths
3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
6 dbname = "keypath-arrays.html"
7 indexedDB.deleteDatabase(dbname)
8 indexedDB.open(dbname)
9 store = db.createObjectStore('store', {keyPath: ['a', 'b']})
10 index = store.createIndex('index', ['c', 'd'])
11 PASS areArraysEqual(index.keyPath, ['c', 'd']) is true
12 PASS index.keyPath instanceof DOMStringList is false
13 Expecting exception from db.createObjectStore('store-with-generator', {keyPath: ['a', 'b'], autoIncrement: true})
14 PASS Exception was thrown.
15 PASS code is DOMException.INVALID_ACCESS_ERR
16 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The autoIncrement option was set but the keyPath option was empty or an array.
17 Expecting exception from store.createIndex('index-multientry', ['e', 'f'], {multiEntry: true})
18 PASS Exception was thrown.
19 PASS code is DOMException.INVALID_ACCESS_ERR
20 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument was an array and the multiEntry option is true.
22 Empty arrays are not valid key paths:
23 Expecting exception from db.createObjectStore('store-keypath-empty-array', {keyPath: []})
24 PASS Exception was thrown.
25 PASS code is DOMException.SYNTAX_ERR
26 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
27 Expecting exception from store.createIndex('index-keypath-empty-array', [])
28 PASS Exception was thrown.
29 PASS code is DOMException.SYNTAX_ERR
30 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
32 testKeyPaths():
33 transaction = db.transaction(['store'], 'readwrite')
34 store = transaction.objectStore('store')
35 index = store.index('index')
37 request = store.put({a: 1, b: 2, c: 3, d: 4})
38 request = store.openCursor()
39 cursor = request.result
40 PASS cursor is non-null.
41 PASS JSON.stringify(cursor.key) is "[1,2]"
42 request = index.openCursor()
43 cursor = request.result
44 PASS cursor is non-null.
45 PASS JSON.stringify(cursor.primaryKey) is "[1,2]"
46 PASS JSON.stringify(cursor.key) is "[3,4]"
47 PASS successfullyParsed is true
49 TEST COMPLETE