@@ -191,9 +191,17 @@ async def test_list_dir(self, store: S) -> None:
191
191
assert out == []
192
192
assert [k async for k in store .list_dir ("foo" )] == []
193
193
await store .set ("foo/zarr.json" , Buffer .from_bytes (b"bar" ))
194
- await store .set ("foo/c/1" , Buffer .from_bytes (b"\x01 " ))
194
+ await store .set ("group-0/zarr.json" , Buffer .from_bytes (b"\x01 " )) # group
195
+ await store .set ("group-0/group-1/zarr.json" , Buffer .from_bytes (b"\x01 " )) # group
196
+ await store .set ("group-0/group-1/a1/zarr.json" , Buffer .from_bytes (b"\x01 " ))
197
+ await store .set ("group-0/group-1/a2/zarr.json" , Buffer .from_bytes (b"\x01 " ))
198
+ await store .set ("group-0/group-1/a3/zarr.json" , Buffer .from_bytes (b"\x01 " ))
195
199
196
- keys_expected = ["zarr.json" , "c" ]
200
+ keys_expected = ["foo" , "group-0" ]
201
+ keys_observed = [k async for k in store .list_dir ("" )]
202
+ assert set (keys_observed ) == set (keys_expected )
203
+
204
+ keys_expected = ["zarr.json" ]
197
205
keys_observed = [k async for k in store .list_dir ("foo" )]
198
206
199
207
assert len (keys_observed ) == len (keys_expected ), keys_observed
@@ -202,3 +210,23 @@ async def test_list_dir(self, store: S) -> None:
202
210
keys_observed = [k async for k in store .list_dir ("foo/" )]
203
211
assert len (keys_expected ) == len (keys_observed ), keys_observed
204
212
assert set (keys_observed ) == set (keys_expected ), keys_observed
213
+
214
+ keys_observed = [k async for k in store .list_dir ("group-0" )]
215
+ keys_expected = ["zarr.json" , "group-1" ]
216
+
217
+ assert len (keys_observed ) == len (keys_expected ), keys_observed
218
+ assert set (keys_observed ) == set (keys_expected ), keys_observed
219
+
220
+ keys_observed = [k async for k in store .list_dir ("group-0/" )]
221
+ assert len (keys_expected ) == len (keys_observed ), keys_observed
222
+ assert set (keys_observed ) == set (keys_expected ), keys_observed
223
+
224
+ keys_observed = [k async for k in store .list_dir ("group-0/group-1" )]
225
+ keys_expected = ["zarr.json" , "a1" , "a2" , "a3" ]
226
+
227
+ assert len (keys_observed ) == len (keys_expected ), keys_observed
228
+ assert set (keys_observed ) == set (keys_expected ), keys_observed
229
+
230
+ keys_observed = [k async for k in store .list_dir ("group-0/group-1" )]
231
+ assert len (keys_expected ) == len (keys_observed ), keys_observed
232
+ assert set (keys_observed ) == set (keys_expected ), keys_observed
0 commit comments