tizen beta release
[profile/ivi/webkit-efl.git] / LayoutTests / storage / indexeddb / cursor-update-value-argument-required.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../../fast/js/resources/js-test-pre.js"></script>
5 <script src="resources/shared.js"></script>
6 </head>
7 <body>
8 <p id="description"></p>
9 <div id="console"></div>
10 <script>
11
12 description("Test IndexedDB cursor.update required arguments");
13 if (window.layoutTestController)
14     layoutTestController.waitUntilDone();
15
16 function test()
17 {
18     indexedDB = evalAndLog("indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB;");
19     shouldBeFalse("indexedDB == null");
20     IDBDatabaseException = evalAndLog("IDBDatabaseException = window.IDBDatabaseException || window.webkitIDBDatabaseException;");
21     shouldBeFalse("IDBDatabaseException == null");
22     IDBCursor = evalAndLog("IDBCursor = window.IDBCursor || window.webkitIDBCursor;");
23     shouldBeFalse("IDBCursor == null");
24     IDBKeyRange = evalAndLog("IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange;");
25     shouldBeFalse("IDBKeyRange == null");
26
27     name = window.location.pathname;
28     description = "My Test Database";
29     request = evalAndLog("indexedDB.open(name, description)");
30     request.onsuccess = openSuccess;
31     request.onerror = unexpectedErrorCallback;
32 }
33
34 function openSuccess()
35 {
36     db = evalAndLog("db = event.target.result");
37
38     request = evalAndLog("request = db.setVersion('1')");
39     request.onsuccess = testGroup1;
40     request.onerror = unexpectedErrorCallback;
41 }
42
43 function testGroup1()
44 {
45     deleteAllObjectStores(db);
46
47     objectStore = evalAndLog("db.createObjectStore('autoIncrement', { autoIncrement: true });");
48
49     request = evalAndLog("request = objectStore.openCursor();");
50     request.onerror = unexpectedErrorCallback;
51     request.onsuccess = function (event) {
52       testGroup2();
53     }
54 }
55
56 function testGroup2()
57 {
58     keys = evalAndLog("keys = [1, -1, 0, 10, 2000, 'q', 'z', 'two', 'b', 'a'];");
59
60     keyIndex = evalAndLog("keyIndex = 0;");
61
62     for (i in keys) {
63       request = evalAndLog("request = objectStore.add('foo', keys[i]);");
64       request.onerror = unexpectedErrorCallback;
65       request.onsuccess = function(event) {
66         if (++keyIndex == keys.length) {
67           testGroup3();
68         }
69       };
70     }
71 }
72
73 function testGroup3()
74 {
75     request = evalAndLog("request = objectStore.openCursor();");
76     request.onerror = unexpectedErrorCallback;
77     request.onsuccess = function (event) {
78         cursor = evalAndLog("cursor = event.target.result;");
79         if (cursor) {
80             shouldThrow("cursor.update();");
81         } else {
82             testFailed("cursor was null");
83         }
84         done();
85     }
86 }
87
88
89 test();
90
91 </script>
92 </body>
93 </html>
94