| Index: third_party/WebKit/LayoutTests/storage/indexeddb/index-getall.html
|
| diff --git a/third_party/WebKit/LayoutTests/storage/indexeddb/index-getall.html b/third_party/WebKit/LayoutTests/storage/indexeddb/index-getall.html
|
| deleted file mode 100644
|
| index 400e1cd27eb031eb850fede083eaf4c7d5f6ac61..0000000000000000000000000000000000000000
|
| --- a/third_party/WebKit/LayoutTests/storage/indexeddb/index-getall.html
|
| +++ /dev/null
|
| @@ -1,230 +0,0 @@
|
| -<!DOCTYPE html>
|
| -<title>IndexedDB: Test IDBIndex.getAll.</title>
|
| -<script src="../../resources/testharness.js"></script>
|
| -<script src="../../resources/testharnessreport.js"></script>
|
| -<script>
|
| -
|
| -var alphabet = 'abcdefghijklmnopqrstuvwxyz'.split('');
|
| -var ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');
|
| -
|
| -function doSetup(dbName, dbVersion, onsuccess) {
|
| - var delete_request = indexedDB.deleteDatabase(dbName);
|
| - delete_request.onerror = function() {
|
| - assert_unreached('deleteDatabase should not fail');
|
| - };
|
| - delete_request.onsuccess = function(e) {
|
| - var req = indexedDB.open(dbName, dbVersion);
|
| - req.onsuccess = onsuccess;
|
| - req.onerror = function() {
|
| - assert_unreached('open should not fail');
|
| - };
|
| - req.onupgradeneeded = function(evt) {
|
| - var connection = evt.target.result;
|
| -
|
| - var store = connection.createObjectStore('generated',
|
| - {autoIncrement: true, keyPath: 'id'});
|
| - var index = store.createIndex('test_idx', 'upper');
|
| - alphabet.forEach(function(letter) {
|
| - store.put({ch: letter, upper: letter.toUpperCase()});
|
| - });
|
| -
|
| - store = connection.createObjectStore('out-of-line', null);
|
| - index = store.createIndex('test_idx', 'upper');
|
| - alphabet.forEach(function(letter) {
|
| - store.put({ch: letter, upper: letter.toUpperCase()}, letter);
|
| - });
|
| -
|
| - store = connection.createObjectStore('out-of-line-not-unique', null);
|
| - index = store.createIndex('test_idx', 'half');
|
| - alphabet.forEach(function(letter) {
|
| - if (letter <= 'm')
|
| - store.put({ch: letter, half: 'first'}, letter);
|
| - else
|
| - store.put({ch: letter, half: 'second'}, letter);
|
| - });
|
| -
|
| - store = connection.createObjectStore('out-of-line-multi', null);
|
| - index = store.createIndex('test_idx', 'attribs', {multiEntry: true});
|
| - alphabet.forEach(function(letter) {
|
| - attrs = [];
|
| - if (['a', 'e', 'i', 'o', 'u'].indexOf(letter) != -1)
|
| - attrs.push('vowel');
|
| - else
|
| - attrs.push('consonant');
|
| - if (letter == 'a')
|
| - attrs.push('first');
|
| - if (letter == 'z')
|
| - attrs.push('last');
|
| - store.put({ch: letter, attribs: attrs}, letter);
|
| - });
|
| -
|
| - store = connection.createObjectStore('empty', null);
|
| - index = store.createIndex('test_idx', 'upper');
|
| - };
|
| - };
|
| -}
|
| -
|
| -function createGetAllRequest(t, storeName, connection, range, maxCount) {
|
| - var transaction = connection.transaction(storeName, 'readonly');
|
| - var store = transaction.objectStore(storeName);
|
| - var index = store.index('test_idx');
|
| - // TODO(cmumford): Simplify once crbug.com/335871 is fixed.
|
| - var req = maxCount !== undefined ? index.getAll(range, maxCount) :
|
| - range !== undefined ? index.getAll(range) : index.getAll();
|
| - req.onerror = t.unreached_func('getAll request should succeed');
|
| - return req;
|
| -}
|
| -
|
| -doSetup(location.pathname + '-IDBIndex.getAll', 1, function(evt) {
|
| - var connection = evt.target.result;
|
| - async_test(function(t) {
|
| - var req = createGetAllRequest(t, 'out-of-line', connection, 'C');
|
| - req.onsuccess = t.step_func(function(evt) {
|
| - var data = evt.target.result;
|
| - assert_class_string(data, 'Array', 'result should be an array');
|
| - assert_array_equals(data.map(e => e.ch), ['c']);
|
| - assert_array_equals(data.map(e => e.upper), ['C']);
|
| - t.done();
|
| - });
|
| - }, 'Single item get');
|
| -
|
| - async_test(function(t) {
|
| - var req = createGetAllRequest(t, 'empty', connection);
|
| - req.onsuccess = t.step_func(function(evt) {
|
| - assert_array_equals(evt.target.result, [],
|
| - 'getAll() on empty object store should return an empty array');
|
| - t.done();
|
| - });
|
| - }, 'Empty object store');
|
| -
|
| - async_test(function(t) {
|
| - var req = createGetAllRequest(t, 'out-of-line', connection);
|
| - req.onsuccess = t.step_func(function(evt) {
|
| - var data = evt.target.result;
|
| - assert_class_string(data, 'Array', 'result should be an array');
|
| - assert_array_equals(data.map(e => e.ch), alphabet);
|
| - assert_array_equals(data.map(e => e.upper), ALPHABET);
|
| - t.done();
|
| - });
|
| - }, 'Get all keys');
|
| -
|
| - async_test(function(t) {
|
| - var req = createGetAllRequest(t, 'out-of-line', connection, undefined,
|
| - 10);
|
| - req.onsuccess = t.step_func(function(evt) {
|
| - var data = evt.target.result;
|
| - assert_class_string(data, 'Array', 'result should be an array');
|
| - assert_array_equals(data.map(e => e.ch), 'abcdefghij'.split(''));
|
| - assert_array_equals(data.map(e => e.upper), 'ABCDEFGHIJ'.split(''));
|
| - t.done();
|
| - });
|
| - }, 'maxCount=10');
|
| -
|
| - async_test(function(t) {
|
| - var req = createGetAllRequest(t, 'out-of-line', connection,
|
| - IDBKeyRange.bound('G', 'M'));
|
| - req.onsuccess = t.step_func(function(evt) {
|
| - var data = evt.target.result;
|
| - assert_array_equals(data.map(e => e.ch), 'ghijklm'.split(''));
|
| - assert_array_equals(data.map(e => e.upper), 'GHIJKLM'.split(''));
|
| - t.done();
|
| - });
|
| - }, 'Get bound range');
|
| -
|
| - async_test(function(t) {
|
| - var req = createGetAllRequest(t, 'out-of-line', connection,
|
| - IDBKeyRange.bound('G', 'M'), 3);
|
| - req.onsuccess = t.step_func(function(evt) {
|
| - var data = evt.target.result;
|
| - assert_class_string(data, 'Array', 'result should be an array');
|
| - assert_array_equals(data.map(e => e.ch), 'ghi'.split(''));
|
| - assert_array_equals(data.map(e => e.upper), 'GHI'.split(''));
|
| - t.done();
|
| - });
|
| - }, 'Get bound range with maxCount');
|
| -
|
| - async_test(function(t) {
|
| - var req = createGetAllRequest(t, 'out-of-line', connection,
|
| - IDBKeyRange.bound('G', 'K', false, true));
|
| - req.onsuccess = t.step_func(function(evt) {
|
| - var data = evt.target.result;
|
| - assert_class_string(data, 'Array', 'result should be an array');
|
| - assert_array_equals(data.map(e => e.ch), 'ghij'.split(''));
|
| - assert_array_equals(data.map(e => e.upper), 'GHIJ'.split(''));
|
| - t.done();
|
| - });
|
| - }, 'Get upper excluded');
|
| -
|
| - async_test(function(t) {
|
| - var req = createGetAllRequest(t, 'out-of-line', connection,
|
| - IDBKeyRange.bound('G', 'K', true, false));
|
| - req.onsuccess = t.step_func(function(evt) {
|
| - var data = evt.target.result;
|
| - assert_class_string(data, 'Array', 'result should be an array');
|
| - assert_array_equals(data.map(e => e.ch), 'hijk'.split(''));
|
| - assert_array_equals(data.map(e => e.upper), 'HIJK'.split(''));
|
| - t.done();
|
| - });
|
| - }, 'Get lower excluded');
|
| -
|
| - async_test(function(t) {
|
| - var req = createGetAllRequest(t, 'generated',
|
| - connection, IDBKeyRange.bound(4, 15), 3);
|
| - req.onsuccess = t.step_func(function(evt) {
|
| - var data = evt.target.result;
|
| - assert_true(Array.isArray(data));
|
| - assert_equals(data.length, 0);
|
| - t.done();
|
| - });
|
| - }, 'Get bound range (generated) with maxCount');
|
| -
|
| - async_test(function(t) {
|
| - var req = createGetAllRequest(t, 'out-of-line',
|
| - connection, "Doesn't exist");
|
| - req.onsuccess = t.step_func(function(evt) {
|
| - assert_array_equals(evt.target.result, [],
|
| - 'getAll() using a nonexistent key should return an empty array');
|
| - t.done();
|
| - req.onerror = t.unreached_func('getAll request should succeed');
|
| - });
|
| - }, 'Non existent key');
|
| -
|
| - async_test(function(t) {
|
| - var req = createGetAllRequest(t, 'out-of-line', connection,
|
| - undefined, 0);
|
| - req.onsuccess = t.step_func(function(evt) {
|
| - var data = evt.target.result;
|
| - assert_class_string(data, 'Array', 'result should be an array');
|
| - assert_array_equals(data.map(e => e.ch), alphabet);
|
| - assert_array_equals(data.map(e => e.upper), ALPHABET);
|
| - t.done();
|
| - });
|
| - }, 'maxCount=0');
|
| -
|
| - async_test(function(t) {
|
| - var req = createGetAllRequest(t, 'out-of-line-not-unique', connection,
|
| - 'first');
|
| - req.onsuccess = t.step_func(function(evt) {
|
| - var data = evt.target.result;
|
| - assert_class_string(data, 'Array', 'result should be an array');
|
| - assert_array_equals(data.map(e => e.ch), 'abcdefghijklm'.split(''));
|
| - assert_true(data.every(e => e.half === 'first'));
|
| - t.done();
|
| - });
|
| - }, 'Retrieve multiEntry key');
|
| -
|
| - async_test(function(t) {
|
| - var req = createGetAllRequest(t, 'out-of-line-multi', connection,
|
| - 'vowel');
|
| - req.onsuccess = t.step_func(function(evt) {
|
| - var data = evt.target.result;
|
| - assert_class_string(data, 'Array', 'result should be an array');
|
| - assert_array_equals(data.map(e => e.ch), ['a', 'e', 'i', 'o', 'u']);
|
| - assert_array_equals(data[0].attribs, ['vowel', 'first']);
|
| - assert_true(data.every(e => e.attribs[0] === 'vowel'));
|
| - t.done();
|
| - });
|
| - }, 'Retrieve one key multiple values');
|
| -});
|
| -
|
| -</script>
|
|
|