idbobjectstore_getAllKeys-options.any.js (4093B)
1 // META: title=IndexedDB: Test IDBObjectStore.getAllKeys with options dictionary. 2 // META: global=window,worker 3 // META: script=resources/nested-cloning-common.js 4 // META: script=resources/support.js 5 // META: script=resources/support-get-all.js 6 // META: script=resources/support-promises.js 7 // META: timeout=long 8 9 'use strict'; 10 11 object_store_get_all_keys_with_options_test( 12 /*storeName=*/ 'out-of-line', /*options=*/ {query: 'c'}, 'Single item get'); 13 14 object_store_get_all_keys_with_options_test( 15 /*storeName=*/ 'generated', /*options=*/ {query: 3}, 16 'Single item get (generated key)'); 17 18 object_store_get_all_keys_with_options_test( 19 /*storeName=*/ 'empty', /*options=*/ undefined, 20 'getAllKeys on empty object store'); 21 22 object_store_get_all_keys_with_options_test( 23 /*storeName=*/ 'out-of-line', /*options=*/ undefined, 'Get all keys'); 24 25 object_store_get_all_keys_with_options_test( 26 /*storeName=*/ 'out-of-line', /*options=*/ {count: 10}, 'Test maxCount'); 27 28 object_store_get_all_keys_with_options_test( 29 /*storeName=*/ 'out-of-line', 30 /*options=*/ {query: IDBKeyRange.bound('g', 'm')}, 'Get bound range'); 31 32 object_store_get_all_keys_with_options_test( 33 /*storeName=*/ 'out-of-line', 34 /*options=*/ {query: IDBKeyRange.bound('g', 'm'), count: 3}, 35 'Get bound range with maxCount'); 36 37 object_store_get_all_keys_with_options_test( 38 /*storeName=*/ 'out-of-line', /*options=*/ { 39 query: 40 IDBKeyRange.bound('g', 'k', /*lowerOpen=*/ false, /*upperOpen=*/ true) 41 }, 42 'Get upper excluded'); 43 44 object_store_get_all_keys_with_options_test( 45 /*storeName=*/ 'out-of-line', /*options=*/ { 46 query: 47 IDBKeyRange.bound('g', 'k', /*lowerOpen=*/ true, /*upperOpen=*/ false) 48 }, 49 'Get lower excluded'); 50 51 object_store_get_all_keys_with_options_test( 52 /*storeName=*/ 'generated', 53 /*options=*/ {query: IDBKeyRange.bound(4, 15), count: 3}, 54 'Get bound range (generated) with maxCount'); 55 56 object_store_get_all_keys_with_options_test( 57 /*storeName=*/ 'out-of-line', 58 /*options=*/ {query: 'Doesn\'t exist'}, 'Non existent key'); 59 60 object_store_get_all_keys_with_options_test( 61 /*storeName=*/ 'out-of-line', 62 /*options=*/ {count: 0}, 'zero maxCount'); 63 64 object_store_get_all_keys_with_options_test( 65 /*storeName=*/ 'out-of-line', 66 /*options=*/ {count: 4294967295}, 'Max value count'); 67 68 object_store_get_all_keys_with_options_test( 69 /*storeName=*/ 'out-of-line', 70 /*options=*/ {query: IDBKeyRange.upperBound('0')}, 71 'Query with empty range where first key < upperBound'); 72 73 object_store_get_all_keys_with_options_test( 74 /*storeName=*/ 'out-of-line', 75 /*options=*/ {query: IDBKeyRange.lowerBound('zz')}, 76 'Query with empty range where lowerBound < last key'); 77 78 object_store_get_all_keys_with_options_test( 79 /*storeName=*/ 'out-of-line', /*options=*/ {direction: 'next'}, 80 'Direction: next'); 81 82 object_store_get_all_keys_with_options_test( 83 /*storeName=*/ 'out-of-line', /*options=*/ {direction: 'prev'}, 84 'Direction: prev'); 85 86 object_store_get_all_keys_with_options_test( 87 /*storeName=*/ 'out-of-line', /*options=*/ {direction: 'nextunique'}, 88 'Direction: nextunique'); 89 90 object_store_get_all_keys_with_options_test( 91 /*storeName=*/ 'out-of-line', /*options=*/ {direction: 'prevunique'}, 92 'Direction: prevunique'); 93 94 object_store_get_all_keys_with_options_test( 95 /*storeName=*/ 'out-of-line', /*options=*/ { 96 direction: 'prev', 97 query: IDBKeyRange.bound('b', 'x'), 98 }, 99 'Direction and query'); 100 101 object_store_get_all_keys_with_options_test( 102 /*storeName=*/ 'out-of-line', /*options=*/ { 103 direction: 'prev', 104 query: IDBKeyRange.bound('b', 'x'), 105 count: 4 106 }, 107 'Direction, query and count'); 108 109 get_all_with_options_and_count_test( 110 'getAllKeys', /*storeName=*/ 'out-of-line', /*indexName=*/ undefined, 111 'Get all keys with both options and count'); 112 113 get_all_with_invalid_keys_test( 114 'getAllKeys', /*storeName=*/ 'out-of-line', /*indexName=*/ undefined, 115 /*shouldUseDictionary=*/ true, 'Get all keys with invalid query keys');