17
17
import { expect } from 'chai' ;
18
18
19
19
import { BloomFilter } from '../../../src/remote/bloom_filter' ;
20
+ import { ByteString } from '../../../src/util/byte_string' ;
20
21
21
22
import {
22
23
testDataCount1Rate0001 ,
@@ -150,16 +151,16 @@ describe('BloomFilter', () => {
150
151
membershipTestResults : string ;
151
152
}
152
153
153
- function convertBase64ToUint8Array ( base64 : string ) : Uint8Array {
154
- return Uint8Array . from ( atob ( base64 ) , item => item . charCodeAt ( 0 ) ) ;
154
+ function decodeBase64ToUint8Array ( encoded : string ) : Uint8Array {
155
+ return ByteString . fromBase64String ( encoded ) . toUint8Array ( ) ;
155
156
}
156
157
157
158
it ( 'mightContain result for 1 document with 1 false positive rate should match backend result' , ( ) => {
158
159
const { bits, hashCount } = testDataCount1Rate1 as TestDataType ;
159
160
const { membershipTestResults } = testResultCount1Rate1 as TestResultType ;
160
161
161
162
const bloomFilter = new BloomFilter (
162
- convertBase64ToUint8Array ( bits . bitmap || '' ) ,
163
+ decodeBase64ToUint8Array ( bits . bitmap || '' ) ,
163
164
bits . padding || 0 ,
164
165
hashCount || 0
165
166
) ;
@@ -176,7 +177,7 @@ describe('BloomFilter', () => {
176
177
testResultCount1Rate01 as TestResultType ;
177
178
178
179
const bloomFilter = new BloomFilter (
179
- convertBase64ToUint8Array ( bits . bitmap || '' ) ,
180
+ decodeBase64ToUint8Array ( bits . bitmap || '' ) ,
180
181
bits . padding || 0 ,
181
182
hashCount || 0
182
183
) ;
@@ -193,7 +194,7 @@ describe('BloomFilter', () => {
193
194
testResultCount1Rate0001 as TestResultType ;
194
195
195
196
const bloomFilter = new BloomFilter (
196
- convertBase64ToUint8Array ( bits . bitmap || '' ) ,
197
+ decodeBase64ToUint8Array ( bits . bitmap || '' ) ,
197
198
bits . padding || 0 ,
198
199
hashCount || 0
199
200
) ;
@@ -210,7 +211,7 @@ describe('BloomFilter', () => {
210
211
testResultCount500Rate1 as TestResultType ;
211
212
212
213
const bloomFilter = new BloomFilter (
213
- convertBase64ToUint8Array ( bits . bitmap || '' ) ,
214
+ decodeBase64ToUint8Array ( bits . bitmap || '' ) ,
214
215
bits . padding || 0 ,
215
216
hashCount || 0
216
217
) ;
@@ -227,7 +228,7 @@ describe('BloomFilter', () => {
227
228
testResultCount500Rate01 as TestResultType ;
228
229
229
230
const bloomFilter = new BloomFilter (
230
- convertBase64ToUint8Array ( bits . bitmap || '' ) ,
231
+ decodeBase64ToUint8Array ( bits . bitmap || '' ) ,
231
232
bits . padding || 0 ,
232
233
hashCount || 0
233
234
) ;
@@ -244,7 +245,7 @@ describe('BloomFilter', () => {
244
245
testResultCount500Rate0001 as TestResultType ;
245
246
246
247
const bloomFilter = new BloomFilter (
247
- convertBase64ToUint8Array ( bits . bitmap || '' ) ,
248
+ decodeBase64ToUint8Array ( bits . bitmap || '' ) ,
248
249
bits . padding || 0 ,
249
250
hashCount || 0
250
251
) ;
@@ -261,7 +262,7 @@ describe('BloomFilter', () => {
261
262
testResultCount5000Rate1 as TestResultType ;
262
263
263
264
const bloomFilter = new BloomFilter (
264
- convertBase64ToUint8Array ( bits . bitmap || '' ) ,
265
+ decodeBase64ToUint8Array ( bits . bitmap || '' ) ,
265
266
bits . padding || 0 ,
266
267
hashCount || 0
267
268
) ;
@@ -278,7 +279,7 @@ describe('BloomFilter', () => {
278
279
testResultCount5000Rate01 as TestResultType ;
279
280
280
281
const bloomFilter = new BloomFilter (
281
- convertBase64ToUint8Array ( bits . bitmap || '' ) ,
282
+ decodeBase64ToUint8Array ( bits . bitmap || '' ) ,
282
283
bits . padding || 0 ,
283
284
hashCount || 0
284
285
) ;
@@ -295,7 +296,7 @@ describe('BloomFilter', () => {
295
296
testResultCount5000Rate0001 as TestResultType ;
296
297
297
298
const bloomFilter = new BloomFilter (
298
- convertBase64ToUint8Array ( bits . bitmap || '' ) ,
299
+ decodeBase64ToUint8Array ( bits . bitmap || '' ) ,
299
300
bits . padding || 0 ,
300
301
hashCount || 0
301
302
) ;
@@ -312,7 +313,7 @@ describe('BloomFilter', () => {
312
313
testResultCount50000Rate1 as TestResultType ;
313
314
314
315
const bloomFilter = new BloomFilter (
315
- convertBase64ToUint8Array ( bits . bitmap || '' ) ,
316
+ decodeBase64ToUint8Array ( bits . bitmap || '' ) ,
316
317
bits . padding || 0 ,
317
318
hashCount || 0
318
319
) ;
@@ -329,7 +330,7 @@ describe('BloomFilter', () => {
329
330
testResultCount50000Rate01 as TestResultType ;
330
331
331
332
const bloomFilter = new BloomFilter (
332
- convertBase64ToUint8Array ( bits . bitmap || '' ) ,
333
+ decodeBase64ToUint8Array ( bits . bitmap || '' ) ,
333
334
bits . padding || 0 ,
334
335
hashCount || 0
335
336
) ;
@@ -340,15 +341,15 @@ describe('BloomFilter', () => {
340
341
expect ( mightContain ) . to . equal ( backendMembershipResult ) ;
341
342
}
342
343
//Extend default timeout(2000)
343
- } ) . timeout ( 3000 ) ;
344
+ } ) . timeout ( 5000 ) ;
344
345
345
346
it ( 'mightContain result for 50000 documents with 0.0001 false positive rate should match backend result' , ( ) => {
346
347
const { bits, hashCount } = testDataCount50000Rate0001 as TestDataType ;
347
348
const { membershipTestResults } =
348
349
testResultCount50000Rate0001 as TestResultType ;
349
350
350
351
const bloomFilter = new BloomFilter (
351
- convertBase64ToUint8Array ( bits . bitmap || '' ) ,
352
+ decodeBase64ToUint8Array ( bits . bitmap || '' ) ,
352
353
bits . padding || 0 ,
353
354
hashCount || 0
354
355
) ;
@@ -359,6 +360,6 @@ describe('BloomFilter', () => {
359
360
expect ( mightContain ) . to . equal ( backendMembershipResult ) ;
360
361
}
361
362
//Extend default timeout(2000)
362
- } ) . timeout ( 4000 ) ;
363
+ } ) . timeout ( 5000 ) ;
363
364
} ) ;
364
365
} ) ;
0 commit comments