tizen beta release
[framework/web/webkit-efl.git] / LayoutTests / storage / indexeddb / factory-basics.html
1 <html>
2 <head>
3 <script src="../../fast/js/resources/js-test-pre.js"></script>
4 <script src="resources/shared.js"></script>
5 </head>
6 <body>
7 <p id="description"></p>
8 <div id="console"></div>
9 <script>
10
11 description("Test the basics of IndexedDB's IDBFactory.");
12 if (window.layoutTestController) 
13     layoutTestController.waitUntilDone();
14
15 function test()
16 {
17     indexedDB = evalAndLog("indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB;");
18     shouldBeFalse("indexedDB == null");
19
20     shouldBeTrue("typeof indexedDB.open === 'function'");
21     shouldBeTrue("typeof indexedDB.cmp === 'function'");
22     shouldBeTrue("typeof indexedDB.getDatabaseNames === 'function'");
23
24     shouldBeTrue("typeof indexedDB.deleteDatabase === 'function'");
25
26     name = 'storage/indexeddb/factory-basics';
27     description = "My Test Database";
28
29     request = evalAndLog("indexedDB.getDatabaseNames()");
30     request.onsuccess = getDatabaseNamesSuccess1;
31     request.onerror = unexpectedErrorCallback;
32 }
33
34 function getDatabaseNamesSuccess1()
35 {
36     var databaseNames;
37     evalAndLog("databaseNames = event.target.result");
38     shouldBeFalse("databaseNames.contains('" + name + "')");
39     shouldBeFalse("databaseNames.contains('DATABASE THAT DOES NOT EXIST')");
40
41     request = evalAndLog("indexedDB.open(name, description)");
42     request.onsuccess = openSuccess;
43     request.onerror = unexpectedErrorCallback;
44 }
45
46 function openSuccess()
47 {
48     evalAndLog("event.target.result.close()");
49     request = evalAndLog("indexedDB.getDatabaseNames()");
50     request.onsuccess = getDatabaseNamesSuccess2;
51     request.onerror = unexpectedErrorCallback;
52 }
53
54 function getDatabaseNamesSuccess2()
55 {
56     var databaseNames;
57     evalAndLog("databaseNames = event.target.result");
58     shouldBeTrue("databaseNames.contains('" + name + "')");
59     shouldBeFalse("databaseNames.contains('DATABASE THAT DOES NOT EXIST')");
60
61     request = evalAndLog("indexedDB.deleteDatabase('" + name + "')");
62     request.onsuccess = deleteDatabaseSuccess;
63     request.onerror = unexpectedErrorCallback;
64 }
65
66 function deleteDatabaseSuccess()
67 {
68     request = evalAndLog("indexedDB.getDatabaseNames()");
69     request.onsuccess = getDatabaseNamesSuccess3;
70     request.onerror = unexpectedErrorCallback;
71 }
72
73 function getDatabaseNamesSuccess3()
74 {
75     var databaseNames;
76     evalAndLog("databaseNames = event.target.result");
77     shouldBeFalse("databaseNames.contains('" + name + "')");
78     shouldBeFalse("databaseNames.contains('DATABASE THAT DOES NOT EXIST')");
79
80     request = evalAndLog("indexedDB.deleteDatabase('DATABASE THAT DOES NOT EXIST')");
81     request.onsuccess = deleteDatabaseSuccess2;
82     request.onerror = unexpectedErrorCallback;
83 }
84
85 function deleteDatabaseSuccess2()
86 {
87     done();
88 }
89
90 test();
91
92
93 </script>
94 </body>
95 </html>