From 565378355e8f1a2799591072b9d736dca1ca11e1 Mon Sep 17 00:00:00 2001 From: Theodore Chang Date: Sat, 16 Mar 2024 04:20:01 +0100 Subject: [PATCH] Add test --- src/msglc/reader.py | 4 +++- tests/test_msglc.py | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/msglc/reader.py b/src/msglc/reader.py index b8e5fdd..a91b83a 100644 --- a/src/msglc/reader.py +++ b/src/msglc/reader.py @@ -443,6 +443,8 @@ def read(self, path: str | list | slice | None = None): target = self._obj for key in path_stack: + if "" == key: + continue if isinstance(key, str) and isinstance(target, (list, LazyList)): key = to_index(key, len(target)) target = target[key] @@ -462,7 +464,7 @@ def visit(self, path: str = ""): """ target = self._obj for key in path.split("/"): - if not key: + if "" == key: continue if isinstance(target, (list, LazyList)): key = to_index(key, len(target)) diff --git a/tests/test_msglc.py b/tests/test_msglc.py index 2bed436..acaf621 100644 --- a/tests/test_msglc.py +++ b/tests/test_msglc.py @@ -169,7 +169,7 @@ def test_combine_archives(tmpdir, json_after, target): target.seek(0) with LazyReader(target) as reader: - assert reader.read("first_outer/second_inner/glossary/title") == "example glossary" + assert reader.read("first_outer//second_inner/glossary/title") == "example glossary" assert reader.read("second_outer/first_inner/2") == 2 assert reader.read("second_outer/first_inner/-1") == 29 assert reader.read("second_outer/first_inner/0:2") == [0, 1] @@ -178,7 +178,7 @@ def test_combine_archives(tmpdir, json_after, target): assert reader.read("second_outer/first_inner/24:2:30") == [24, 26, 28] assert reader.read("second_outer/first_inner/:2:5") == [0, 2, 4] assert reader.read("second_outer/first_inner/24:2:") == [24, 26, 28] - assert reader.visit("first_outer/second_inner/glossary/title") == "example glossary" + assert reader.visit("first_outer//second_inner/glossary/title") == "example glossary" assert reader.visit("second_outer/first_inner/2") == 2 assert reader.visit("second_outer/first_inner/-1") == 29 assert reader.visit("second_outer/first_inner/0:2") == [0, 1]