| Index: third_party/WebKit/LayoutTests/storage/indexeddb/resources/factory-basics.js
|
| diff --git a/third_party/WebKit/LayoutTests/storage/indexeddb/resources/factory-basics.js b/third_party/WebKit/LayoutTests/storage/indexeddb/resources/factory-basics.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d758fd751e5337d3392d9ba7f8004f075c3b6edf
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/storage/indexeddb/resources/factory-basics.js
|
| @@ -0,0 +1,88 @@
|
| +if (this.importScripts) {
|
| + importScripts('../../../resources/js-test.js');
|
| + importScripts('shared.js');
|
| +}
|
| +
|
| +description("Test the basics of IndexedDB's IDBFactory.");
|
| +
|
| +function test()
|
| +{
|
| + shouldBeEqualToString("typeof indexedDB.open", "function");
|
| + shouldBeEqualToString("typeof indexedDB.cmp", "function");
|
| + shouldBeEqualToString("typeof indexedDB.deleteDatabase", "function");
|
| +
|
| + // Non-standard, must be prefixed
|
| + shouldBeEqualToString("typeof indexedDB.webkitGetDatabaseNames", "function");
|
| + shouldBeEqualToString("typeof indexedDB.getDatabaseNames", "undefined");
|
| +
|
| + name = 'storage/indexeddb/factory-basics';
|
| +
|
| + evalAndLog("request = indexedDB.webkitGetDatabaseNames()");
|
| + shouldBeNull("request.source");
|
| + request.onsuccess = getDatabaseNamesSuccess1;
|
| + request.onerror = unexpectedErrorCallback;
|
| +}
|
| +
|
| +function getDatabaseNamesSuccess1(evt)
|
| +{
|
| + event = evt;
|
| + var databaseNames;
|
| + evalAndLog("databaseNames = event.target.result");
|
| + shouldBeFalse("databaseNames.contains('" + name + "')");
|
| + shouldBeFalse("databaseNames.contains('DATABASE THAT DOES NOT EXIST')");
|
| +
|
| + evalAndLog("request = indexedDB.open(name)");
|
| + shouldBeNull("request.source");
|
| + request.onsuccess = openSuccess;
|
| + request.onerror = unexpectedErrorCallback;
|
| +}
|
| +
|
| +function openSuccess(evt)
|
| +{
|
| + event = evt;
|
| + evalAndLog("event.target.result.close()");
|
| + request = evalAndLog("indexedDB.webkitGetDatabaseNames()");
|
| + request.onsuccess = getDatabaseNamesSuccess2;
|
| + request.onerror = unexpectedErrorCallback;
|
| +}
|
| +
|
| +function getDatabaseNamesSuccess2(evt)
|
| +{
|
| + event = evt;
|
| + var databaseNames;
|
| + evalAndLog("databaseNames = event.target.result");
|
| + shouldBeTrue("databaseNames.contains('" + name + "')");
|
| + shouldBeFalse("databaseNames.contains('DATABASE THAT DOES NOT EXIST')");
|
| +
|
| + evalAndLog("request = indexedDB.deleteDatabase('" + name + "')");
|
| + shouldBeNull("request.source");
|
| + request.onsuccess = deleteDatabaseSuccess;
|
| + request.onerror = unexpectedErrorCallback;
|
| +}
|
| +
|
| +function deleteDatabaseSuccess()
|
| +{
|
| + request = evalAndLog("indexedDB.webkitGetDatabaseNames()");
|
| + request.onsuccess = getDatabaseNamesSuccess3;
|
| + request.onerror = unexpectedErrorCallback;
|
| +}
|
| +
|
| +function getDatabaseNamesSuccess3(evt)
|
| +{
|
| + event = evt;
|
| + var databaseNames;
|
| + evalAndLog("databaseNames = event.target.result");
|
| + shouldBeFalse("databaseNames.contains('" + name + "')");
|
| + shouldBeFalse("databaseNames.contains('DATABASE THAT DOES NOT EXIST')");
|
| +
|
| + request = evalAndLog("indexedDB.deleteDatabase('DATABASE THAT DOES NOT EXIST')");
|
| + request.onsuccess = deleteDatabaseSuccess2;
|
| + request.onerror = unexpectedErrorCallback;
|
| +}
|
| +
|
| +function deleteDatabaseSuccess2()
|
| +{
|
| + finishJSTest();
|
| +}
|
| +
|
| +test();
|
|
|