@@ -491,24 +491,36 @@ async def test_list_empty_path(self, store: S) -> None:
491491 assert observed_prefix_sorted == expected_prefix_sorted
492492
493493 async def test_list_dir (self , store : S ) -> None :
494- root = "foo"
495- store_dict = {
496- root + "/zarr.json" : self .buffer_cls .from_bytes (b"bar" ),
497- root + "/c/1" : self .buffer_cls .from_bytes (b"\x01 " ),
498- }
494+ roots_and_keys : list [tuple [str , dict [str , Buffer ]]] = [
495+ (
496+ "foo" ,
497+ {
498+ "foo/zarr.json" : self .buffer_cls .from_bytes (b"bar" ),
499+ "foo/c/1" : self .buffer_cls .from_bytes (b"\x01 " ),
500+ },
501+ ),
502+ (
503+ "foo/bar" ,
504+ {
505+ "foo/bar/foobar_first_child" : self .buffer_cls .from_bytes (b"1" ),
506+ "foo/bar/foobar_second_child/zarr.json" : self .buffer_cls .from_bytes (b"2" ),
507+ },
508+ ),
509+ ]
499510
500511 assert await _collect_aiterator (store .list_dir ("" )) == ()
501- assert await _collect_aiterator (store .list_dir (root )) == ()
502512
503- await store ._set_many (store_dict .items ())
513+ for root , store_dict in roots_and_keys :
514+ assert await _collect_aiterator (store .list_dir (root )) == ()
504515
505- keys_observed = await _collect_aiterator (store .list_dir (root ))
506- keys_expected = {k .removeprefix (root + "/" ).split ("/" )[0 ] for k in store_dict }
516+ await store ._set_many (store_dict .items ())
507517
508- assert sorted (keys_observed ) == sorted (keys_expected )
518+ keys_observed = await _collect_aiterator (store .list_dir (root ))
519+ keys_expected = {k .removeprefix (root + "/" ).split ("/" )[0 ] for k in store_dict }
520+ assert sorted (keys_observed ) == sorted (keys_expected )
509521
510- keys_observed = await _collect_aiterator (store .list_dir (root + "/" ))
511- assert sorted (keys_expected ) == sorted (keys_observed )
522+ keys_observed = await _collect_aiterator (store .list_dir (root + "/" ))
523+ assert sorted (keys_expected ) == sorted (keys_observed )
512524
513525 async def test_set_if_not_exists (self , store : S ) -> None :
514526 key = "k"
0 commit comments