| Index: third_party/WebKit/LayoutTests/storage/indexeddb/idbdatabase-deleteObjectStore-exception-order.html
|
| diff --git a/third_party/WebKit/LayoutTests/storage/indexeddb/idbdatabase-deleteObjectStore-exception-order.html b/third_party/WebKit/LayoutTests/storage/indexeddb/idbdatabase-deleteObjectStore-exception-order.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a45190c0805a34dbbbf60e0ae1d7a1158aef6cf5
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/storage/indexeddb/idbdatabase-deleteObjectStore-exception-order.html
|
| @@ -0,0 +1,43 @@
|
| +<!DOCTYPE html>
|
| +<title>IndexedDB: IDBDatabase deleteObjectStore() Exception Ordering</title>
|
| +<meta charset=utf-8>
|
| +<link rel="help" href="https://w3c.github.io/IndexedDB/#dom-idbdatabase-deleteobjectstore">
|
| +<script src="../../resources/testharness.js"></script>
|
| +<script src="../../resources/testharnessreport.js"></script>
|
| +<script src="resources/testharness-helpers.js"></script>
|
| +<script>
|
| +
|
| +indexeddb_test(
|
| + (t, db, req) => {
|
| + db.createObjectStore('s');
|
| + req.transaction.abort();
|
| + req.onerror = null;
|
| + setTimeout(t.step_func(() => {
|
| + assert_throws(
|
| + 'InvalidStateError', () => { db.deleteObjectStore('s'); },
|
| + '"running an upgrade transaction" check (InvalidStateError) ' +
|
| + 'should precede "not active" check (TransactionInactiveError)');
|
| + t.done();
|
| + }), 0);
|
| + },
|
| + (t, db) => { t.assert_unreached('open should fail'); },
|
| + 'IDBDatabase.deleteObjectStore exception order: ' +
|
| + 'InvalidStateError vs. TransactionInactiveError'
|
| +);
|
| +
|
| +indexeddb_test(
|
| + (t, db, req) => {
|
| + req.transaction.abort();
|
| + req.onerror = null;
|
| + assert_throws(
|
| + 'TransactionInactiveError', () => { db.deleteObjectStore('nope'); },
|
| + '"not active" check (TransactionInactiveError) should precede ' +
|
| + '"name in database" check (NotFoundError)');
|
| + t.done();
|
| + },
|
| + (t, db) => { t.assert_unreached('open should fail'); },
|
| + 'IDBDatabase.deleteObjectStore exception order: ' +
|
| + 'TransactionInactiveError vs. NotFoundError'
|
| +);
|
| +
|
| +</script>
|
|
|