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_object_equals(gotten_keys, expected_keys); |
| 48 this.done(); |
| 49 }); |
| 50 } |
| 51 </script> |
| 52 |
| 53 <div id="log"></div> |
OLD | NEW |