3 <script src="../../fast/js/resources/js-test-pre.js"></script>
4 <script src="resources/shared.js"></script>
7 <p id="description"></p>
8 <div id="console"></div>
11 description("Test the basics of IndexedDB's IDBFactory.");
12 if (window.layoutTestController)
13 layoutTestController.waitUntilDone();
17 indexedDB = evalAndLog("indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB;");
18 shouldBeFalse("indexedDB == null");
20 shouldBeTrue("typeof indexedDB.open === 'function'");
21 shouldBeTrue("typeof indexedDB.cmp === 'function'");
22 shouldBeTrue("typeof indexedDB.getDatabaseNames === 'function'");
24 shouldBeTrue("typeof indexedDB.deleteDatabase === 'function'");
26 name = 'storage/indexeddb/factory-basics';
27 description = "My Test Database";
29 request = evalAndLog("indexedDB.getDatabaseNames()");
30 request.onsuccess = getDatabaseNamesSuccess1;
31 request.onerror = unexpectedErrorCallback;
34 function getDatabaseNamesSuccess1()
37 evalAndLog("databaseNames = event.target.result");
38 shouldBeFalse("databaseNames.contains('" + name + "')");
39 shouldBeFalse("databaseNames.contains('DATABASE THAT DOES NOT EXIST')");
41 request = evalAndLog("indexedDB.open(name, description)");
42 request.onsuccess = openSuccess;
43 request.onerror = unexpectedErrorCallback;
46 function openSuccess()
48 evalAndLog("event.target.result.close()");
49 request = evalAndLog("indexedDB.getDatabaseNames()");
50 request.onsuccess = getDatabaseNamesSuccess2;
51 request.onerror = unexpectedErrorCallback;
54 function getDatabaseNamesSuccess2()
57 evalAndLog("databaseNames = event.target.result");
58 shouldBeTrue("databaseNames.contains('" + name + "')");
59 shouldBeFalse("databaseNames.contains('DATABASE THAT DOES NOT EXIST')");
61 request = evalAndLog("indexedDB.deleteDatabase('" + name + "')");
62 request.onsuccess = deleteDatabaseSuccess;
63 request.onerror = unexpectedErrorCallback;
66 function deleteDatabaseSuccess()
68 request = evalAndLog("indexedDB.getDatabaseNames()");
69 request.onsuccess = getDatabaseNamesSuccess3;
70 request.onerror = unexpectedErrorCallback;
73 function getDatabaseNamesSuccess3()
76 evalAndLog("databaseNames = event.target.result");
77 shouldBeFalse("databaseNames.contains('" + name + "')");
78 shouldBeFalse("databaseNames.contains('DATABASE THAT DOES NOT EXIST')");
80 request = evalAndLog("indexedDB.deleteDatabase('DATABASE THAT DOES NOT EXIST')");
81 request.onsuccess = deleteDatabaseSuccess2;
82 request.onerror = unexpectedErrorCallback;
85 function deleteDatabaseSuccess2()