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