|  | <!DOCTYPE html> | 
|  | <meta charset="utf-8"> | 
|  | <title>IDBIndex.multiEntry - a 1000 entry multiEntry array</title> | 
|  | <link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal"> | 
|  | <link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#key-construct"> | 
|  | <link rel=assert title="XXX"> | 
|  | <script src="/resources/testharness.js"></script> | 
|  | <script src="/resources/testharnessreport.js"></script> | 
|  | <script src="support.js"></script> | 
|  |  | 
|  | <script> | 
|  | var db, | 
|  | t_add = async_test("Adding one item with 1000 multiEntry keys", { timeout: 10000 }), | 
|  | t_get = async_test("Getting the one item by 1000 indeced keys ", { timeout: 10000 }); | 
|  |  | 
|  | var open_rq = createdb(t_add); | 
|  | var obj = { test: 'yo', idxkeys: [] }; | 
|  |  | 
|  | for (var i = 0; i < 1000; i++) | 
|  | obj.idxkeys.push('index_no_' + i); | 
|  |  | 
|  |  | 
|  | open_rq.onupgradeneeded = function(e) { | 
|  | db = e.target.result; | 
|  |  | 
|  | db.createObjectStore('store') | 
|  | .createIndex('index', 'idxkeys', { multiEntry: true }); | 
|  | }; | 
|  | open_rq.onsuccess = function(e) { | 
|  | var tx = db.transaction('store', 'readwrite'); | 
|  | tx.objectStore('store') | 
|  | .put(obj, 1) | 
|  | .onsuccess = t_add.step_func(function(e) | 
|  | { | 
|  | assert_equals(e.target.result, 1, "put'd key"); | 
|  | this.done(); | 
|  | }); | 
|  |  | 
|  | tx.oncomplete = t_get.step_func(function() { | 
|  | var idx = db.transaction('store').objectStore('store').index('index') | 
|  |  | 
|  | for (var i = 0; i < 1000; i++) | 
|  | { | 
|  | idx.get('index_no_' + i).onsuccess = t_get.step_func(function(e) { | 
|  | assert_equals(e.target.result.test, "yo"); | 
|  | }); | 
|  | } | 
|  |  | 
|  | idx.get('index_no_999').onsuccess = t_get.step_func(function(e) { | 
|  | assert_equals(e.target.result.test, "yo"); | 
|  | assert_equals(e.target.result.idxkeys.length, 1000); | 
|  | this.done(); | 
|  | }); | 
|  | }); | 
|  | }; | 
|  | </script> | 
|  |  | 
|  | <div id="log"></div> |