| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>IDBObjectStore.delete() - object store's key path is an object attribute </title> |
| <link rel="author" title="Microsoft" href="http://www.microsoft.com"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="support.js"></script> |
| |
| <script> |
| var db, |
| t = async_test(), |
| record = { test: { obj: { key: 1 } }, property: "data" }; |
| |
| var open_rq = createdb(t); |
| open_rq.onupgradeneeded = function(e) { |
| db = e.target.result; |
| |
| var objStore = db.createObjectStore("test", { keyPath: "test.obj.key" }); |
| objStore.add(record); |
| }; |
| |
| open_rq.onsuccess = function(e) { |
| var delete_rq = db.transaction("test", "readwrite") |
| .objectStore("test") |
| .delete(record.test.obj.key); |
| |
| delete_rq.onsuccess = t.step_func(function(e) { |
| assert_equals(e.target.result, undefined); |
| |
| e.target.transaction.oncomplete = t.step_func(VerifyRecordRemoved); |
| }); |
| }; |
| |
| function VerifyRecordRemoved() { |
| var rq = db.transaction("test") |
| .objectStore("test") |
| .get(record.test.obj.key); |
| |
| rq.onsuccess = t.step_func(function(e) { |
| assert_equals(e.target.result, undefined); |
| t.done(); |
| }); |
| } |
| |
| </script> |
| |
| <div id="log"></div> |