tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

idbindex_getAllKeys.any.js (2859B)


      1 // META: title=IndexedDB: Test IDBIndex.getAllKeys.
      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 'use strict';
      9 
     10 
     11 index_get_all_keys_test(
     12    /*storeName=*/ 'out-of-line', /*options=*/ {query: 'C'}, 'Single item get');
     13 
     14 index_get_all_keys_test(
     15    /*storeName=*/ 'empty', /*options=*/ undefined, 'Empty object store');
     16 
     17 index_get_all_keys_test(
     18    /*storeName=*/ 'out-of-line', /*options=*/ undefined, 'Get all keys');
     19 
     20 index_get_all_keys_test(
     21    /*storeName=*/ 'generated', /*options=*/ undefined,
     22    'Get all generated keys');
     23 
     24 index_get_all_keys_test(
     25    /*storeName=*/ 'out-of-line', /*options=*/ {count: 10}, 'maxCount=10');
     26 
     27 index_get_all_keys_test(
     28    /*storeName=*/ 'out-of-line',
     29    /*options=*/ {query: IDBKeyRange.bound('G', 'M')}, 'Get bound range');
     30 
     31 index_get_all_keys_test(
     32    /*storeName=*/ 'out-of-line',
     33    /*options=*/ {query: IDBKeyRange.bound('G', 'M'), count: 3},
     34    'Get bound range with maxCount');
     35 
     36 index_get_all_keys_test(
     37    /*storeName=*/ 'out-of-line',
     38    /*options=*/ {
     39      query:
     40          IDBKeyRange.bound('G', 'K', /*lowerOpen=*/ false, /*upperOpen=*/ true)
     41    },
     42    'Get upper excluded');
     43 
     44 index_get_all_keys_test(
     45    /*storeName=*/ 'out-of-line',
     46    /*options=*/ {
     47      query:
     48          IDBKeyRange.bound('G', 'K', /*lowerOpen=*/ true, /*upperOpen=*/ false)
     49    },
     50    'Get lower excluded');
     51 
     52 index_get_all_keys_test(
     53    /*storeName=*/ 'generated',
     54    /*options=*/ {query: IDBKeyRange.bound(4, 15), count: 3},
     55    'Get bound range (generated) with maxCount');
     56 
     57 index_get_all_keys_test(
     58    /*storeName=*/ 'out-of-line',
     59    /*options=*/ {query: 'Doesn\'t exist'}, 'Non existent key');
     60 
     61 index_get_all_keys_test(
     62    /*storeName=*/ 'out-of-line',
     63    /*options=*/ {query: 0}, 'maxCount=0');
     64 
     65 index_get_all_keys_test(
     66    /*storeName=*/ 'out-of-line',
     67    /*options=*/ {query: 4294967295}, 'Max value count');
     68 
     69 index_get_all_keys_test(
     70    /*storeName=*/ 'out-of-line',
     71    /*options=*/ {query: IDBKeyRange.upperBound('0')},
     72    'Query with empty range where  first key < upperBound');
     73 
     74 index_get_all_keys_test(
     75    /*storeName=*/ 'out-of-line',
     76    /*options=*/ {query: IDBKeyRange.lowerBound('ZZ')},
     77    'Query with empty range where lowerBound < last key');
     78 
     79 index_get_all_keys_test(
     80    /*storeName=*/ 'out-of-line-not-unique', /*options=*/ {query: 'first'},
     81    'Retrieve multiEntry key');
     82 
     83 index_get_all_keys_test(
     84    /*storeName=*/ 'out-of-line-multi',
     85    /*options=*/ {query: 'vowel'}, 'Retrieve one key multiple values');
     86 
     87 get_all_with_invalid_keys_test(
     88    'getAllKeys', /*storeName=*/ 'out-of-line', /*indexName=*/ 'test_idx',
     89    /*shouldUseDictionary=*/ false, 'Get all keys with invalid query keys');