Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(420)

Unified Diff: third_party/WebKit/LayoutTests/imported/wpt/IndexedDB/idbindex-rename.html

Issue 2408083002: Revert of Import wpt@357b83b809e3cbc7a1805e7c3ca108a7980d782f (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/imported/wpt/IndexedDB/idbindex-rename.html
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/IndexedDB/idbindex-rename.html b/third_party/WebKit/LayoutTests/imported/wpt/IndexedDB/idbindex-rename.html
deleted file mode 100644
index 2ef26d295e959cc9e62372de1565141ae664fd11..0000000000000000000000000000000000000000
--- a/third_party/WebKit/LayoutTests/imported/wpt/IndexedDB/idbindex-rename.html
+++ /dev/null
@@ -1,298 +0,0 @@
-<!DOCTYPE html>
-<title>IndexedDB: index renaming support</title>
-<link rel="help"
- href="https://w3c.github.io/IndexedDB/#dom-idbindex-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 => {
- let authorIndex = null, authorIndex2 = null;
- let renamedAuthorIndex = null, renamedAuthorIndex2 = null;
- return createDatabase(testCase, (database, transaction) => {
- const store = createBooksStore(testCase, database);
- authorIndex = store.index('by_author');
- }).then(database => {
- const transaction = database.transaction('books', 'readonly');
- const store = transaction.objectStore('books');
- assert_array_equals(
- store.indexNames, ['by_author', 'by_title'],
- 'Test setup should have created two indexes');
- authorIndex2 = store.index('by_author');
- return checkAuthorIndexContents(
- testCase, authorIndex2,
- 'The index should have the expected contents before any renaming').
- then(() => database.close());
- }).then(() => migrateDatabase(testCase, 2, (database, transaction) => {
- const store = transaction.objectStore('books');
- renamedAuthorIndex = store.index('by_author');
- renamedAuthorIndex.name = 'renamed_by_author';
-
- assert_equals(
- renamedAuthorIndex.name, 'renamed_by_author',
- 'IDBIndex name should change immediately after a rename');
- assert_array_equals(
- store.indexNames, ['by_title', 'renamed_by_author'],
- 'IDBObjectStore.indexNames should immediately reflect the rename');
- assert_equals(
- store.index('renamed_by_author'), renamedAuthorIndex,
- 'IDBObjectStore.index should return the renamed index store when ' +
- 'queried using the new name immediately after the rename');
- assert_throws(
- 'NotFoundError', () => store.index('by_author'),
- 'IDBObjectStore.index should throw when queried using the ' +
- "renamed index's old name immediately after the rename");
- })).then(database => {
- const transaction = database.transaction('books', 'readonly');
- const store = transaction.objectStore('books');
- assert_array_equals(
- store.indexNames, ['by_title', 'renamed_by_author'],
- 'IDBObjectStore.indexNames should still reflect the rename after ' +
- 'the versionchange transaction commits');
- renamedAuthorIndex2 = store.index('renamed_by_author');
- return checkAuthorIndexContents(
- testCase, renamedAuthorIndex2,
- 'Renaming an index should not change its contents').then(
- () => database.close());
- }).then(() => {
- assert_equals(
- authorIndex.name, 'by_author',
- 'IDBIndex obtained before the rename transaction should not ' +
- 'reflect the rename');
- assert_equals(
- authorIndex2.name, 'by_author',
- 'IDBIndex obtained before the rename transaction should not ' +
- 'reflect the rename');
- assert_equals(
- renamedAuthorIndex.name, 'renamed_by_author',
- 'IDBIndex used in the rename transaction should keep reflecting ' +
- 'the new name after the transaction is committed');
- assert_equals(
- renamedAuthorIndex2.name, 'renamed_by_author',
- 'IDBIndex obtained after the rename transaction should reflect ' +
- 'the new name');
- });
-}, 'IndexedDB index rename in new transaction');
-
-promise_test(testCase => {
- let renamedAuthorIndex = null, renamedAuthorIndex2 = null;
- return createDatabase(testCase, (database, transaction) => {
- const store = createBooksStore(testCase, database);
- renamedAuthorIndex = store.index('by_author');
- renamedAuthorIndex.name = 'renamed_by_author';
-
- assert_equals(
- renamedAuthorIndex.name, 'renamed_by_author',
- 'IDBIndex name should change immediately after a rename');
- assert_array_equals(
- store.indexNames, ['by_title', 'renamed_by_author'],
- 'IDBObjectStore.indexNames should immediately reflect the rename');
- assert_equals(
- store.index('renamed_by_author'), renamedAuthorIndex,
- 'IDBObjectStore.index should return the renamed index store when ' +
- 'queried using the new name immediately after the rename');
- assert_throws(
- 'NotFoundError', () => store.index('by_author'),
- 'IDBObjectStore.index should throw when queried using the ' +
- "renamed index's old name immediately after the rename");
- }).then(database => {
- const transaction = database.transaction('books', 'readonly');
- const store = transaction.objectStore('books');
- assert_array_equals(
- store.indexNames, ['by_title', 'renamed_by_author'],
- 'IDBObjectStore.indexNames should still reflect the rename after ' +
- 'the versionchange transaction commits');
- renamedAuthorIndex2 = store.index('renamed_by_author');
- return checkAuthorIndexContents(
- testCase, renamedAuthorIndex2,
- 'Renaming an index should not change its contents').then(
- () => database.close());
- }).then(() => {
- assert_equals(
- renamedAuthorIndex.name, 'renamed_by_author',
- 'IDBIndex used in the rename transaction should keep reflecting ' +
- 'the new name after the transaction is committed');
- assert_equals(
- renamedAuthorIndex2.name, 'renamed_by_author',
- 'IDBIndex obtained after the rename transaction should reflect ' +
- 'the new name');
- });
-}, 'IndexedDB index rename in the transaction where it is created');
-
-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');
- const index = store.index('by_author');
- index.name = 'by_author';
- assert_array_equals(
- store.indexNames, ['by_author', 'by_title'],
- 'Renaming an index to the same name should not change the ' +
- "index's IDBObjectStore.indexNames");
- })).then(database => {
- const transaction = database.transaction('books', 'readonly');
- const store = transaction.objectStore('books');
- assert_array_equals(
- store.indexNames, ['by_author', 'by_title'],
- 'Committing a transaction that renames a store to the same name ' +
- "should not change the index's IDBObjectStore.indexNames");
- const index = store.index('by_author');
- return checkAuthorIndexContents(
- testCase, index,
- 'Committing a transaction that renames an index to the same name ' +
- "should not change the index's contents").then(
- () => database.close());
- });
-}, 'IndexedDB index rename to the same name succeeds');
-
-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');
- const index = store.index('by_author');
- store.deleteIndex('by_title');
- index.name = 'by_title';
- assert_array_equals(
- store.indexNames, ['by_title'],
- 'IDBObjectStore.indexNames should immediately reflect the rename');
- })).then(database => {
- const transaction = database.transaction('books', 'readonly');
- const store = transaction.objectStore('books');
- assert_array_equals(
- store.indexNames, ['by_title'],
- 'IDBObjectStore.indexNames should still reflect the rename after ' +
- 'the versionchange transaction commits');
- const index = store.index('by_title');
- return checkAuthorIndexContents(
- testCase, index,
- 'Renaming an index should not change its contents').then(
- () => database.close());
- });
-}, 'IndexedDB index rename to the name of a deleted index succeeds');
-
-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');
- store.index('by_author').name = 'tmp';
- store.index('by_title').name = 'by_author';
- store.index('tmp').name = 'by_title';
- assert_array_equals(
- store.indexNames, ['by_author', 'by_title'],
- 'IDBObjectStore.indexNames should reflect the swap immediately ' +
- 'after the renames');
- return checkTitleIndexContents(
- testCase, store.index('by_author'),
- 'Renaming an index should not change its contents');
- })).then(database => {
- const transaction = database.transaction('books', 'readonly');
- const store = transaction.objectStore('books');
- assert_array_equals(
- store.indexNames, ['by_author', 'by_title'],
- 'IDBObjectStore.indexNames should still reflect the swap after ' +
- 'the versionchange transaction commits');
- const index = store.index('by_title');
- return checkAuthorIndexContents(
- testCase, index,
- 'Renaming an index should not change its contents').then(
- () => database.close());
- });
-}, 'IndexedDB index swapping via renames succeeds');
-
-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');
- const index = store.index('by_author');
-
- index.name = 42;
- assert_equals(index.name, '42',
- 'IDBIndex name should change immediately after a rename to a ' +
- 'number');
- assert_array_equals(
- store.indexNames, ['42', 'by_title'],
- 'IDBObjectStore.indexNames should immediately reflect the ' +
- 'stringifying rename');
-
- index.name = true;
- assert_equals(index.name, 'true',
- 'IDBIndex name should change immediately after a rename to a ' +
- 'boolean');
-
- index.name = {};
- assert_equals(index.name, '[object Object]',
- 'IDBIndex name should change immediately after a rename to an ' +
- 'object');
-
- index.name = () => null;
- assert_equals(index.name, '() => null',
- 'IDBIndex name should change immediately after a rename to a ' +
- 'function');
-
- index.name = undefined;
- assert_equals(index.name, 'undefined',
- 'IDBIndex name should change immediately after a rename to ' +
- 'undefined');
- })).then(database => {
- const transaction = database.transaction('books', 'readonly');
- const store = transaction.objectStore('books');
- assert_array_equals(
- store.indexNames, ['by_title', 'undefined'],
- 'IDBObjectStore.indexNames should reflect the last rename ' +
- 'after the versionchange transaction commits');
- const index = store.index('undefined');
- return checkAuthorIndexContents(
- testCase, index,
- 'Renaming an index should not change its contents').then(
- () => database.close());
- });
-}, 'IndexedDB index rename stringifies non-string names');
-
-for (let escapedName of ['', '\\u0000', '\\uDC00\\uD800']) ((escapedName) => {
- const name = JSON.parse('"' + escapedName + '"');
- 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');
- const index = store.index('by_author');
-
- index.name = name;
- assert_equals(index.name, name,
- 'IDBIndex name should change immediately after the rename');
- assert_array_equals(
- store.indexNames, [name, 'by_title'].sort(),
- 'IDBObjectStore.indexNames should immediately reflect the rename');
- })).then(database => {
- const transaction = database.transaction('books', 'readonly');
- const store = transaction.objectStore('books');
- assert_array_equals(
- store.indexNames, [name, 'by_title'].sort(),
- 'IDBObjectStore.indexNames should reflect the rename ' +
- 'after the versionchange transaction commits');
- const index = store.index(name);
- return checkAuthorIndexContents(
- testCase, index,
- 'Renaming an index should not change its contents').then(
- () => database.close());
- });
- }, 'IndexedDB index can be renamed to "' + escapedName + '"');
-})(escapedName);
-
-</script>

Powered by Google App Engine
This is Rietveld 408576698