| // META: script=support-promises.js |
| |
| promise_test(async testCase => { |
| // Delete any databases that may not have been cleaned up after |
| // previous test runs. |
| await deleteAllDatabases(testCase); |
| |
| const db_name = "TestDatabase"; |
| const db = await createNamedDatabase(testCase, db_name, ()=>{}); |
| const databases_promise = await indexedDB.databases(); |
| const expected_result = [ |
| {"name": db_name, "version": 1}, |
| ]; |
| assert_object_equals( |
| databases_promise, |
| expected_result, |
| "Call to databases() did not retrieve the single expected result."); |
| }, "Enumerate one database."); |
| |
| promise_test(async testCase => { |
| // Delete any databases that may not have been cleaned up after previous test |
| // runs. |
| await deleteAllDatabases(testCase); |
| |
| const db_name1 = "TestDatabase1"; |
| const db_name2 = "TestDatabase2"; |
| const db_name3 = "TestDatabase3"; |
| const db1 = await createNamedDatabase(testCase, db_name1, ()=>{}); |
| const db2 = await createNamedDatabase(testCase, db_name2, ()=>{}); |
| const db3 = await createNamedDatabase(testCase, db_name3, ()=>{}); |
| const databases_promise = await indexedDB.databases(); |
| const expected_result = [ |
| {"name": db_name1, "version": 1}, |
| {"name": db_name2, "version": 1}, |
| {"name": db_name3, "version": 1}, |
| ]; |
| assert_object_equals( |
| databases_promise, |
| expected_result, |
| "Call to databases() did not retrieve the multiple expected results"); |
| }, "Enumerate multiple databases."); |
| |
| promise_test(async testCase => { |
| // Add some databases and close their connections. |
| const db1 = await createNamedDatabase(testCase, "DB1", ()=>{}); |
| const db2 = await createNamedDatabase(testCase, "DB2", ()=>{}); |
| db1.onversionchange = () => { db1.close() }; |
| db2.onversionchange = () => { db2.close() }; |
| |
| // Delete any databases that may not have been cleaned up after previous test |
| // runs as well as the two databases made above. |
| await deleteAllDatabases(testCase); |
| |
| // Make sure the databases are no longer returned. |
| const databases_promise = await indexedDB.databases(); |
| assert_object_equals( |
| databases_promise, |
| [], |
| "Call to databases() found database it should not have.") |
| }, "Make sure an empty list is returned for the case of no databases."); |
| |
| done(); |