OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <meta charset="utf-8"> |
| 3 <title>IDBObjectStore.createIndex() - Event ordering for a later deleted index</
title> |
| 4 <link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal"> |
| 5 <script src="../../../resources/testharness.js"></script> |
| 6 <script src="../../../resources/testharnessreport.js"></script> |
| 7 <script src="support.js"></script> |
| 8 |
| 9 <script> |
| 10 var db, |
| 11 events = [], |
| 12 t = async_test(document.title, {timeout: 10000}) |
| 13 |
| 14 var open_rq = createdb(t); |
| 15 open_rq.onupgradeneeded = function(e) { |
| 16 db = e.target.result; |
| 17 e.target.transaction.oncomplete = log("transaction.complete"); |
| 18 |
| 19 var txn = e.target.transaction, |
| 20 objStore = db.createObjectStore("store"); |
| 21 |
| 22 var rq_add1 = objStore.add({ animal: "Unicorn" }, 1); |
| 23 rq_add1.onsuccess = log("rq_add1.success"); |
| 24 rq_add1.onerror = log("rq_add1.error"); |
| 25 |
| 26 objStore.createIndex("index", "animal", { unique: true }); |
| 27 |
| 28 var rq_add2 = objStore.add({ animal: "Unicorn" }, 2); |
| 29 rq_add2.onsuccess = log("rq_add2.success"); |
| 30 rq_add2.onerror = function(e) { |
| 31 log("rq_add2.error")(e); |
| 32 e.preventDefault(); |
| 33 e.stopPropagation(); |
| 34 } |
| 35 |
| 36 objStore.deleteIndex("index"); |
| 37 |
| 38 var rq_add3 = objStore.add({ animal: "Unicorn" }, 3); |
| 39 rq_add3.onsuccess = log("rq_add3.success"); |
| 40 rq_add3.onerror = log("rq_add3.error"); |
| 41 } |
| 42 |
| 43 open_rq.onsuccess = function(e) { |
| 44 log("open_rq.success")(e); |
| 45 assert_object_equals(events, [ "rq_add1.success", |
| 46 "rq_add2.error: ConstraintError", |
| 47 "rq_add3.success", |
| 48 |
| 49 "transaction.complete", |
| 50 |
| 51 "open_rq.success" ], |
| 52 "events"); |
| 53 t.done(); |
| 54 } |
| 55 |
| 56 function log(msg) { |
| 57 return function(e) { |
| 58 if(e && e.target && e.target.error) |
| 59 events.push(msg + ": " + e.target.error.name); |
| 60 else |
| 61 events.push(msg); |
| 62 }; |
| 63 } |
| 64 </script> |
| 65 |
| 66 <div id="log"></div> |
OLD | NEW |