File tree 1 file changed +41
-1
lines changed
1 file changed +41
-1
lines changed Original file line number Diff line number Diff line change 1
1
use indexed_db:: { Error , Factory } ;
2
2
use wasm_bindgen_test:: wasm_bindgen_test;
3
3
use web_sys:: {
4
- js_sys:: { JsString , Number } ,
4
+ js_sys:: { JsString , Number , Uint8Array } ,
5
5
wasm_bindgen:: JsValue ,
6
6
} ;
7
7
@@ -326,3 +326,43 @@ async fn duplicate_insert_returns_proper_error_and_does_not_abort() {
326
326
. await
327
327
. unwrap ( ) ;
328
328
}
329
+
330
+ #[ wasm_bindgen_test]
331
+ async fn typed_array_keys ( ) {
332
+ let factory = Factory :: < ( ) > :: get ( ) . unwrap ( ) ;
333
+
334
+ let db = factory
335
+ . open ( "db12" , 1 , |evt| async move {
336
+ let db = evt. database ( ) ;
337
+ db. build_object_store ( "data" ) . create ( ) ?;
338
+ Ok ( ( ) )
339
+ } )
340
+ . await
341
+ . unwrap ( ) ;
342
+
343
+ db. transaction ( & [ "data" ] )
344
+ . rw ( )
345
+ . run ( |t| async move {
346
+ let data = t. object_store ( "data" ) ?;
347
+ data. add_kv ( & Uint8Array :: from ( & b"key1" [ ..] ) , & JsString :: from ( "foo" ) )
348
+ . await ?;
349
+ data. add_kv ( & Uint8Array :: from ( & b"key2" [ ..] ) , & JsString :: from ( "bar" ) )
350
+ . await ?;
351
+ data. add_kv ( & Uint8Array :: from ( & b"key3" [ ..] ) , & JsString :: from ( "baz" ) )
352
+ . await ?;
353
+ assert_eq ! (
354
+ 2 ,
355
+ data. count_in( Uint8Array :: from( & b"key2" [ ..] ) . as_ref( ) ..)
356
+ . await ?
357
+ ) ;
358
+ assert_eq ! (
359
+ 1 ,
360
+ data. count_in( ..Uint8Array :: from( & b"key2" [ ..] ) . as_ref( ) )
361
+ . await ?
362
+ ) ;
363
+
364
+ Ok ( ( ) )
365
+ } )
366
+ . await
367
+ . unwrap ( ) ;
368
+ }
You can’t perform that action at this time.
0 commit comments