Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / storage / indexeddb / index-basics-expected.txt
blob8b2a625553c85d2a2e53c80438b66be9d8f04c27
1 Test the basics of IndexedDB's IDBIndex.
3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
6 dbname = "index-basics.html"
7 indexedDB.deleteDatabase(dbname)
8 indexedDB.open(dbname)
10 prepareDatabase():
11 db.createObjectStore('storeName', null)
12 store.createIndex('indexName', 'x')
13 store.createIndex('indexName2', 'y', {unique: false})
14 store.createIndex('zIndex', 'z', {unique: true})
15 PASS store.createIndex('index4', 'path', undefined) did not throw exception.
16 PASS indexObject2.unique is false
17 PASS indexObject3.unique is true
18 Expecting TypeError exception from store.createIndex('failureIndex', 'zzz', true)
19 PASS Exception was thrown.
20 PASS store.createIndex('failureIndex', 'zzz', true) threw TypeError: Failed to execute 'createIndex' on 'IDBObjectStore': parameter 3 ('options') is not an object.
21 Expecting TypeError exception from store.createIndex('failureIndex', 'zzz', 'string')
22 PASS Exception was thrown.
23 PASS store.createIndex('failureIndex', 'zzz', 'string') threw TypeError: Failed to execute 'createIndex' on 'IDBObjectStore': parameter 3 ('options') is not an object.
24 PASS 'name' in indexObject is true
25 PASS indexObject.name is "indexName"
26 PASS 'objectStore' in indexObject is true
27 PASS indexObject.objectStore.name is "storeName"
28 PASS 'keyPath' in indexObject is true
29 PASS indexObject.keyPath is "x"
30 PASS 'unique' in indexObject is true
31 PASS 'multiEntry' in indexObject is true
32 PASS indexObject.unique is false
33 PASS indexObject.multiEntry is false
34 PASS 'openKeyCursor' in indexObject is true
35 PASS typeof indexObject.openKeyCursor is "function"
36 PASS 'openCursor' in indexObject is true
37 PASS typeof indexObject.openCursor is "function"
38 PASS 'getKey' in indexObject is true
39 PASS typeof indexObject.getKey is "function"
40 PASS 'get' in indexObject is true
41 PASS typeof indexObject.get is "function"
42 PASS 'count' in indexObject is true
43 PASS typeof indexObject.count is "function"
44 store.add({x: 'value', y: 'zzz', z: 2.72}, 'key')
45 event.target.source.add({x: 'value2', y: 'zzz2', z: 2.71, foobar: 12}, 'key2')
46 store.createIndex('indexWhileAddIsInFlight', 'x')
47 store.createIndex('indexWithWeirdKeyPath', 'foobar')
48 Add data which doesn't have a key in the z index.
49 event.target.source.add({x: 'value3', y: '456'}, 'key3')
50 Add data which has invalid key for y index, no key for the z index.
51 event.target.source.add({x: 'value4', y: null}, 'key4')
52 indexObject.getKey('value')
53 PASS event.target.result is "key"
54 indexObject2.getKey('zzz')
55 PASS event.target.result is "key"
56 indexObject3.get(2.71)
57 PASS event.target.result.x is "value2"
58 indexObject.get('value')
59 PASS event.target.result.x is "value"
60 PASS event.target.result.y is "zzz"
61 indexObject.getKey('does not exist')
62 PASS event.target.result is undefined
63 indexObject.get('does not exist')
64 PASS event.target.result is undefined
65 indexObject4.getKey('value2')
66 PASS event.target.result is "key2"
68 Verify that specifying an invalid direction raises an exception:
69 Expecting TypeError exception from indexObject.openKeyCursor(0, 'invalid-direction')
70 PASS Exception was thrown.
71 PASS indexObject.openKeyCursor(0, 'invalid-direction') threw TypeError: Failed to execute 'openKeyCursor' on 'IDBIndex': The provided value 'invalid-direction' is not a valid enum value of type IDBCursorDirection.
73 indexObject.openKeyCursor()
74 PASS event.target.source is indexObject
75 PASS event.target.result is non-null.
76 PASS event.target.result.key is "value"
77 PASS event.target.result.primaryKey is "key"
78 event.target.result.continue()
79 PASS event.target.result is non-null.
80 PASS event.target.result.key is "value2"
81 PASS event.target.result.primaryKey is "key2"
82 event.target.result.continue()
83 PASS event.target.result is non-null.
84 PASS event.target.result.key is "value3"
85 PASS event.target.result.primaryKey is "key3"
86 event.target.result.continue()
87 PASS event.target.result is non-null.
88 PASS event.target.result.key is "value4"
89 PASS event.target.result.primaryKey is "key4"
90 event.target.result.continue()
91 PASS event.target.result is null
93 Verify that specifying an invalid direction raises an exception:
94 Expecting TypeError exception from indexObject.openCursor(0, 'invalid-direction')
95 PASS Exception was thrown.
96 PASS indexObject.openCursor(0, 'invalid-direction') threw TypeError: Failed to execute 'openCursor' on 'IDBIndex': The provided value 'invalid-direction' is not a valid enum value of type IDBCursorDirection.
98 indexObject.openCursor()
99 PASS event.target.source is indexObject
100 PASS event.target.result is non-null.
101 PASS event.target.result.key is "value"
102 PASS event.target.result.value.x is "value"
103 PASS event.target.result.value.y is "zzz"
104 event.target.result.continue()
105 PASS event.target.result is non-null.
106 PASS event.target.result.key is "value2"
107 PASS event.target.result.value.x is "value2"
108 PASS event.target.result.value.y is "zzz2"
109 event.target.result.continue()
110 PASS event.target.result is non-null.
111 PASS event.target.result.key is "value3"
112 PASS event.target.result.value.x is "value3"
113 PASS event.target.result.value.y is "456"
114 event.target.result.continue()
115 PASS event.target.result is non-null.
116 PASS event.target.result.key is "value4"
117 PASS event.target.result.value.x is "value4"
118 PASS event.target.result.value.y is null
119 event.target.result.continue()
120 PASS event.target.result is null
121 request = indexObject.count()
122 PASS event.target.result is 4
123 request = indexObject2.count()
124 PASS event.target.result is 3
125 request = indexObject3.count()
126 PASS event.target.result is 2
127 Passing an invalid key into indexObject.get({}).
128 Expecting exception from indexObject.get({})
129 PASS Exception was thrown.
130 PASS code is 0
131 PASS ename is 'DataError'
132 Exception message: Failed to execute 'get' on 'IDBIndex': The parameter is not a valid key.
133 Passing an invalid key into indexObject.getKey({}).
134 Expecting exception from indexObject.getKey({})
135 PASS Exception was thrown.
136 PASS code is 0
137 PASS ename is 'DataError'
138 Exception message: Failed to execute 'getKey' on 'IDBIndex': The parameter is not a valid key.
139 PASS successfullyParsed is true
141 TEST COMPLETE