Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / imported / web-platform-tests / IndexedDB / idbcursor_update_objectstore3.htm
1 <!DOCTYPE html>
2 <title>IDBCursor.update() - object store - attempt to modify a record in an inactive transaction</title>
3 <link rel="author" title="Microsoft" href="http://www.microsoft.com">
4 <script src="../../../resources/testharness.js"></script>
5 <script src="../../../resources/testharnessreport.js"></script>
6 <script src="support.js"></script>
7
8 <script>
9
10     var db,
11       t = async_test(),
12       records = [ { pKey: "primaryKey_0", iKey: "indexKey_0" },
13                   { pKey: "primaryKey_1", iKey: "indexKey_1" } ];
14
15     var open_rq = createdb(t);
16     open_rq.onupgradeneeded = function(e) {
17         db = e.target.result;
18         var objStore = db.createObjectStore("test", { keyPath: "pKey" });
19
20         for (var i = 0; i < records.length; i++)
21             objStore.add(records[i]);
22
23         var cursor_rq = objStore.openCursor();
24
25         cursor_rq.onsuccess = t.step_func(function(e) {
26             var cursor = e.target.result;
27             assert_true(cursor instanceof IDBCursor, "cursor exist");
28             window.cursor = cursor;
29             window.record = cursor.value;
30         });
31
32         e.target.transaction.oncomplete = t.step_func(function(e) {
33             assert_throws('TransactionInactiveError', function() { window.cursor.update(window.record); })
34             t.done();
35         });
36     }
37
38 </script>
39
40 <div id="log"></div>