mirror of
https://github.com/servo/servo.git
synced 2025-08-27 08:08:19 +01:00
Update web-platform-tests and CSS tests.
- Update CSS tests to revision e05bfd5e30ed662c2f8a353577003f8eed230180. - Update web-platform-tests to revision a052787dd5c069a340031011196b73affbd68cd9.
This commit is contained in:
parent
fb4f421c8b
commit
296fa2512b
21852 changed files with 2080936 additions and 892894 deletions
|
@ -0,0 +1,84 @@
|
|||
<!doctype html>
|
||||
<meta charset="utf8">
|
||||
<title>IndexedDB: backend-aborted versionchange transaction lifecycle</title>
|
||||
<link rel="help"
|
||||
href="https://w3c.github.io/IndexedDB/#upgrade-transaction-steps">
|
||||
<link rel="help"
|
||||
href="https://w3c.github.io/IndexedDB/#dom-idbdatabase-createobjectstore">
|
||||
<link rel="help"
|
||||
href="https://w3c.github.io/IndexedDB/#dom-idbdatabase-deleteobjectstore">
|
||||
<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>
|
||||
'use strict';
|
||||
|
||||
promise_test(t => {
|
||||
return createDatabase(t, database => {
|
||||
createBooksStore(t, database);
|
||||
}).then(database => {
|
||||
database.close();
|
||||
}).then(() => migrateDatabase(t, 2, (database, transaction, request) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
transaction.addEventListener('abort', () => {
|
||||
resolve(new Promise((resolve, reject) => {
|
||||
assert_equals(
|
||||
request.transaction, transaction,
|
||||
"The open request's transaction should be reset after onabort");
|
||||
assert_throws(
|
||||
'InvalidStateError',
|
||||
() => { database.createObjectStore('books2'); },
|
||||
'createObjectStore exception should reflect that the ' +
|
||||
'transaction is no longer running');
|
||||
assert_throws(
|
||||
'InvalidStateError',
|
||||
() => { database.deleteObjectStore('books'); },
|
||||
'deleteObjectStore exception should reflect that the ' +
|
||||
'transaction is no longer running');
|
||||
resolve();
|
||||
}));
|
||||
}, false);
|
||||
transaction.objectStore('books').add(BOOKS_RECORD_DATA[0]);
|
||||
transaction._willBeAborted();
|
||||
});
|
||||
}));
|
||||
}, 'in the abort event handler for a transaction aborted due to an unhandled ' +
|
||||
'request error');
|
||||
|
||||
promise_test(t => {
|
||||
return createDatabase(t, database => {
|
||||
createBooksStore(t, database);
|
||||
}).then(database => {
|
||||
database.close();
|
||||
}).then(() => migrateDatabase(t, 2, (database, transaction, request) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
transaction.addEventListener('abort', () => {
|
||||
setTimeout(() => {
|
||||
resolve(new Promise((resolve, reject) => {
|
||||
assert_equals(
|
||||
request.transaction, null,
|
||||
"The open request's transaction should be reset after " +
|
||||
'onabort microtasks');
|
||||
assert_throws(
|
||||
'InvalidStateError',
|
||||
() => { database.createObjectStore('books2'); },
|
||||
'createObjectStore exception should reflect that the ' +
|
||||
'transaction is no longer running');
|
||||
assert_throws(
|
||||
'InvalidStateError',
|
||||
() => { database.deleteObjectStore('books'); },
|
||||
'deleteObjectStore exception should reflect that the ' +
|
||||
'transaction is no longer running');
|
||||
resolve();
|
||||
}));
|
||||
}, 0);
|
||||
}, false);
|
||||
transaction.objectStore('books').add(BOOKS_RECORD_DATA[0]);
|
||||
transaction._willBeAborted();
|
||||
});
|
||||
}));
|
||||
}, 'in a setTimeout(0) callback after the abort event is fired for a ' +
|
||||
'transaction aborted due to an unhandled request failure');
|
||||
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue