OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <meta charset="utf-8"> |
| 3 <title>IDBObjectStore.createIndex() - index can be valid keys</title> |
| 4 <link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal"> |
| 5 <meta name=timeout content=long> |
| 6 <script src="../../../resources/testharness.js"></script> |
| 7 <script src="../../../resources/testharnessreport.js"></script> |
| 8 <script src="support.js"></script> |
| 9 |
| 10 <script> |
| 11 var db, |
| 12 t = async_test(document.title, {timeout:19000}), |
| 13 now = new Date(), |
| 14 mar18 = new Date(1111111111111), |
| 15 ar = ["Yay", 2, -Infinity], |
| 16 num = 1337 |
| 17 |
| 18 var open_rq = createdb(t); |
| 19 open_rq.onupgradeneeded = function(e) { |
| 20 db = e.target.result; |
| 21 var txn = e.target.transaction, |
| 22 objStore = db.createObjectStore("store", { keyPath: 'key' }); |
| 23 |
| 24 objStore.add({ key: "now", i: now }); |
| 25 objStore.add({ key: "mar18", i: mar18 }); |
| 26 objStore.add({ key: "array", i: ar }); |
| 27 objStore.add({ key: "number", i: num }); |
| 28 |
| 29 var idx = objStore.createIndex("index", "i") |
| 30 |
| 31 idx.get(now).onsuccess = t.step_func(function(e) { |
| 32 assert_equals(e.target.result.key, 'now', 'key'); |
| 33 assert_equals(e.target.result.i.getTime(), now.getTime(), 'getTime')
; |
| 34 }); |
| 35 idx.get(mar18).onsuccess = t.step_func(function(e) { |
| 36 assert_equals(e.target.result.key, 'mar18', 'key'); |
| 37 assert_equals(e.target.result.i.getTime(), mar18.getTime(), 'getTime
'); |
| 38 }); |
| 39 idx.get(ar).onsuccess = t.step_func(function(e) { |
| 40 assert_equals(e.target.result.key, 'array', 'key'); |
| 41 assert_object_equals(e.target.result.i, ar, 'array is the same'); |
| 42 }); |
| 43 idx.get(num).onsuccess = t.step_func(function(e) { |
| 44 assert_equals(e.target.result.key, 'number', 'key'); |
| 45 assert_equals(e.target.result.i, num, 'number is the same'); |
| 46 }); |
| 47 } |
| 48 |
| 49 open_rq.onsuccess = function() { |
| 50 t.done(); |
| 51 } |
| 52 </script> |
| 53 |
| 54 <div id="log"></div> |
OLD | NEW |