diff options
Diffstat (limited to 'testing/web-platform/tests/IndexedDB/idbobjectstore_delete3.htm')
-rw-r--r-- | testing/web-platform/tests/IndexedDB/idbobjectstore_delete3.htm | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/testing/web-platform/tests/IndexedDB/idbobjectstore_delete3.htm b/testing/web-platform/tests/IndexedDB/idbobjectstore_delete3.htm new file mode 100644 index 0000000000..1ea9dd9958 --- /dev/null +++ b/testing/web-platform/tests/IndexedDB/idbobjectstore_delete3.htm @@ -0,0 +1,47 @@ +<!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="resources/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", {durability: 'relaxed'}) + .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", "readonly", {durability: 'relaxed'}) + .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> |