OLD | NEW |
| (Empty) |
1 <!DOCTYPE html> | |
2 <meta charset="utf-8"> | |
3 <title>IDBIndex.multiEntry - adding keys</title> | |
4 <link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal"> | |
5 <link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#
key-construct"> | |
6 <link rel=assert title="XXX"> | |
7 <script src="../../../resources/testharness.js"></script> | |
8 <script src="../../../resources/testharnessreport.js"></script> | |
9 <script src="support.js"></script> | |
10 | |
11 <script> | |
12 var db, | |
13 expected_keys = [1, 2, 2, 3, 3]; | |
14 | |
15 var open_rq = createdb(async_test(document.title, {timeout: 10000})) | |
16 | |
17 open_rq.onupgradeneeded = function(e) { | |
18 db = e.target.result; | |
19 | |
20 var store = db.createObjectStore("store") | |
21 | |
22 store.createIndex('actors', 'name', { multiEntry: true }) | |
23 | |
24 store.add({name: 'Odin'}, 1); | |
25 store.add({name: ['Rita', 'Scheeta', {Bobby:'Bobby'}]}, 2); | |
26 store.add({name: [ {s: 'Robert'}, 'Neil', 'Bobby']}, 3); | |
27 }; | |
28 open_rq.onsuccess = function(e) { | |
29 var gotten_keys = []; | |
30 var idx = db.transaction('store').objectStore('store').index('actors'); | |
31 | |
32 idx.getKey('Odin').onsuccess = this.step_func(function(e) { | |
33 gotten_keys.push(e.target.result) | |
34 }); | |
35 idx.getKey('Rita').onsuccess = this.step_func(function(e) { | |
36 gotten_keys.push(e.target.result) | |
37 }); | |
38 idx.getKey('Scheeta').onsuccess = this.step_func(function(e) { | |
39 gotten_keys.push(e.target.result) | |
40 }); | |
41 idx.getKey('Neil').onsuccess = this.step_func(function(e) { | |
42 gotten_keys.push(e.target.result) | |
43 }); | |
44 idx.getKey('Bobby').onsuccess = this.step_func(function(e) { | |
45 gotten_keys.push(e.target.result) | |
46 | |
47 assert_array_equals(gotten_keys, expected_keys); | |
48 this.done(); | |
49 }); | |
50 } | |
51 </script> | |
52 | |
53 <div id="log"></div> | |
OLD | NEW |