@@ -492,24 +492,36 @@ async def test_list_empty_path(self, store: S) -> None:
492492 assert observed_prefix_sorted == expected_prefix_sorted
493493
494494 async def test_list_dir (self , store : S ) -> None :
495- root = "foo"
496- store_dict = {
497- root + "/zarr.json" : self .buffer_cls .from_bytes (b"bar" ),
498- root + "/c/1" : self .buffer_cls .from_bytes (b"\x01 " ),
499- }
495+ roots_and_keys : list [tuple [str , dict [str , Buffer ]]] = [
496+ (
497+ "foo" ,
498+ {
499+ "foo/zarr.json" : self .buffer_cls .from_bytes (b"bar" ),
500+ "foo/c/1" : self .buffer_cls .from_bytes (b"\x01 " ),
501+ },
502+ ),
503+ (
504+ "foo/bar" ,
505+ {
506+ "foo/bar/foobar_first_child" : self .buffer_cls .from_bytes (b"1" ),
507+ "foo/bar/foobar_second_child/zarr.json" : self .buffer_cls .from_bytes (b"2" ),
508+ },
509+ ),
510+ ]
500511
501512 assert await _collect_aiterator (store .list_dir ("" )) == ()
502- assert await _collect_aiterator (store .list_dir (root )) == ()
503513
504- await store ._set_many (store_dict .items ())
514+ for root , store_dict in roots_and_keys :
515+ assert await _collect_aiterator (store .list_dir (root )) == ()
505516
506- keys_observed = await _collect_aiterator (store .list_dir (root ))
507- keys_expected = {k .removeprefix (root + "/" ).split ("/" )[0 ] for k in store_dict }
517+ await store ._set_many (store_dict .items ())
508518
509- assert sorted (keys_observed ) == sorted (keys_expected )
519+ keys_observed = await _collect_aiterator (store .list_dir (root ))
520+ keys_expected = {k .removeprefix (root + "/" ).split ("/" )[0 ] for k in store_dict }
521+ assert sorted (keys_observed ) == sorted (keys_expected )
510522
511- keys_observed = await _collect_aiterator (store .list_dir (root + "/" ))
512- assert sorted (keys_expected ) == sorted (keys_observed )
523+ keys_observed = await _collect_aiterator (store .list_dir (root + "/" ))
524+ assert sorted (keys_expected ) == sorted (keys_observed )
513525
514526 async def test_set_if_not_exists (self , store : S ) -> None :
515527 key = "k"
0 commit comments