diff options
author | Moonchild <moonchild@palemoon.org> | 2021-02-25 01:03:57 +0000 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2021-02-25 01:03:57 +0000 |
commit | ceadffab6b357723981a429e11222daf6cd6dcfb (patch) | |
tree | 5603053048d6a460f79b22bdf165fb74d32d39b0 /testing/web-platform/tests/IndexedDB/idbobjectstore-rename-errors.html | |
parent | 14fb2f966e9b54598c451e3cb35b4aa0480dafed (diff) | |
parent | ad5a13bd501e379517da1a944c104a11d951a3f5 (diff) | |
download | UXP-RC_20210225.tar UXP-RC_20210225.tar.gz UXP-RC_20210225.tar.lz UXP-RC_20210225.tar.xz UXP-RC_20210225.zip |
Merge branch 'master' into releaseRC_20210225
Diffstat (limited to 'testing/web-platform/tests/IndexedDB/idbobjectstore-rename-errors.html')
-rw-r--r-- | testing/web-platform/tests/IndexedDB/idbobjectstore-rename-errors.html | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/testing/web-platform/tests/IndexedDB/idbobjectstore-rename-errors.html b/testing/web-platform/tests/IndexedDB/idbobjectstore-rename-errors.html deleted file mode 100644 index 8e603baec..000000000 --- a/testing/web-platform/tests/IndexedDB/idbobjectstore-rename-errors.html +++ /dev/null @@ -1,118 +0,0 @@ -<!DOCTYPE html> -<title>IndexedDB: object store renaming error handling</title> -<link rel="help" - href="https://w3c.github.io/IndexedDB/#dom-idbobjectstore-name"> -<link rel="author" href="pwnall@chromium.org" title="Victor Costan"> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script src="support-promises.js"></script> -<script> - -promise_test(testCase => { - return createDatabase(testCase, (database, transaction) => { - createBooksStore(testCase, database); - }).then(database => { - database.close(); - }).then(() => migrateDatabase(testCase, 2, (database, transaction) => { - const store = transaction.objectStore('books'); - database.deleteObjectStore('books'); - assert_throws('InvalidStateError', () => store.name = 'renamed_books'); - })).then(database => { - database.close(); - }); -}, 'IndexedDB deleted object store rename throws'); - -promise_test(testCase => { - return createDatabase(testCase, (database, transaction) => { - createBooksStore(testCase, database); - }).then(database => { - const transaction = database.transaction('books', 'readonly'); - const store = transaction.objectStore('books'); - assert_throws('InvalidStateError', () => store.name = 'renamed_books'); - database.close(); - }); -}, 'IndexedDB object store rename throws in a readonly transaction'); - -promise_test(testCase => { - return createDatabase(testCase, (database, transaction) => { - createBooksStore(testCase, database); - }).then(database => { - const transaction = database.transaction('books', 'readwrite'); - const store = transaction.objectStore('books'); - - assert_throws('InvalidStateError', () => store.name = 'renamed_books'); - database.close(); - }); -}, 'IndexedDB object store rename throws in a readwrite transaction'); - -promise_test(testCase => { - let bookStore = null; - return createDatabase(testCase, (database, transaction) => { - bookStore = createBooksStore(testCase, database); - }).then(database => { - assert_throws('TransactionInactiveError', - () => { bookStore.name = 'renamed_books'; }); - database.close(); - }); -}, 'IndexedDB object store rename throws in an inactive transaction'); - -promise_test(testCase => { - return createDatabase(testCase, (database, transaction) => { - createBooksStore(testCase, database); - createNotBooksStore(testCase, database); - }).then(database => { - database.close(); - }).then(() => migrateDatabase(testCase, 2, (database, transaction) => { - const store = transaction.objectStore('books'); - assert_throws('ConstraintError', () => store.name = 'not_books'); - assert_array_equals( - database.objectStoreNames, ['books', 'not_books'], - 'A store rename that throws an exception should not change the ' + - "store's IDBDatabase.objectStoreNames"); - })).then(database => { - assert_array_equals( - database.objectStoreNames, ['books', 'not_books'], - 'Committing a transaction with a failed store rename attempt ' + - "should not change the store's IDBDatabase.objectStoreNames"); - const transaction = database.transaction('books', 'readonly'); - const store = transaction.objectStore('books'); - return checkStoreContents( - testCase, store, - 'Committing a transaction with a failed rename attempt should ' + - "not change the store's contents").then(() => database.close()); - }); -}, 'IndexedDB object store rename to the name of another store throws'); - -promise_test(testCase => { - return createDatabase(testCase, (database, transaction) => { - createBooksStore(testCase, database); - }).then(database => { - database.close(); - }).then(() => migrateDatabase(testCase, 2, (database, transaction) => { - const store = transaction.objectStore('books'); - assert_throws( - { name: 'Custom stringifying error' }, - () => { - store.name = { - toString: () => { throw { name: 'Custom stringifying error'}; } - }; - }, 'IDBObjectStore rename should re-raise toString() exception'); - assert_array_equals( - database.objectStoreNames, ['books'], - 'A store rename that throws an exception should not change the ' + - "store's IDBDatabase.objectStoreNames"); - })).then(database => { - assert_array_equals( - database.objectStoreNames, ['books'], - 'Committing a transaction with a failed store rename attempt ' + - "should not change the store's IDBDatabase.objectStoreNames"); - const transaction = database.transaction('books', 'readonly'); - const store = transaction.objectStore('books'); - return checkStoreContents( - testCase, store, - 'Committing a transaction with a failed rename attempt should ' + - "not change the store's contents").then(() => database.close()); - }); -}, 'IndexedDB object store rename handles exceptions when stringifying names'); - -</script> |