| OLD | NEW |
| (Empty) |
| 1 <!DOCTYPE html> | |
| 2 <title>IndexedDB: IDBDatabase transaction() Exception Ordering</title> | |
| 3 <meta charset=utf-8> | |
| 4 <link rel="help" href="https://w3c.github.io/IndexedDB/#dom-idbdatabase-transact
ion"> | |
| 5 <script src="../../resources/testharness.js"></script> | |
| 6 <script src="../../resources/testharnessreport.js"></script> | |
| 7 <script src="resources/testharness-helpers.js"></script> | |
| 8 <script> | |
| 9 | |
| 10 indexeddb_test( | |
| 11 (t, db) => { | |
| 12 db.createObjectStore('s'); | |
| 13 }, | |
| 14 (t, db) => { | |
| 15 db.close(); | |
| 16 assert_throws('InvalidStateError', () => { | |
| 17 db.transaction('no-such-store'); | |
| 18 }, '"Connection is closed" check (InvalidStateError) should precede ' + | |
| 19 '"store names" check (NotFoundError)'); | |
| 20 t.done(); | |
| 21 }, | |
| 22 'IDBDatabase.transaction exception order: InvalidStateError vs. NotFoundError' | |
| 23 ); | |
| 24 | |
| 25 indexeddb_test( | |
| 26 (t, db) => { | |
| 27 db.createObjectStore('s'); | |
| 28 }, | |
| 29 (t, db) => { | |
| 30 db.close(); | |
| 31 assert_throws('InvalidStateError', () => { | |
| 32 db.transaction([]); | |
| 33 }, '"Connection is closed" check (InvalidStateError) should precede ' + | |
| 34 '"stores is empty" check (InvalidAccessError)'); | |
| 35 t.done(); | |
| 36 }, | |
| 37 'IDBDatabase.transaction exception order: InvalidStateError vs. InvalidAccessE
rror' | |
| 38 ); | |
| 39 | |
| 40 indexeddb_test( | |
| 41 (t, db) => { | |
| 42 db.createObjectStore('s'); | |
| 43 }, | |
| 44 (t, db) => { | |
| 45 assert_throws('NotFoundError', () => { | |
| 46 db.transaction('no-such-store', 'versionchange'); | |
| 47 }, '"No such store" check (NotFoundError) should precede ' + | |
| 48 '"invalid mode" check (InvalidAccessError)'); | |
| 49 t.done(); | |
| 50 }, | |
| 51 'IDBDatabase.transaction exception order: NotFoundError vs. InvalidAccessError
' | |
| 52 ); | |
| 53 | |
| 54 </script> | |
| OLD | NEW |