Skip to content

Commit 1a56500

Browse files
committed
fix: log all problems in translations test
1 parent 981cc60 commit 1a56500

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

tagstudio/tests/test_translations.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,23 @@ def find_format_keys(format_string: str) -> set[str]:
2626
def test_format_key_validity(translation_filename: str):
2727
default_translation = load_translation("en.json")
2828
translation = load_translation(translation_filename)
29+
invalid_keys: list[tuple[str, list[str]]] = []
30+
missing_keys: list[tuple[str, list[str]]] = []
2931
for key in default_translation:
3032
if key not in translation:
3133
continue
3234
default_keys = find_format_keys(default_translation[key])
3335
translation_keys = find_format_keys(translation[key])
34-
assert default_keys.issuperset(
35-
translation_keys
36-
), f"Translation {translation_filename} for key {key} is using an invalid format key ({translation_keys.difference(default_keys)})" # noqa: E501
37-
assert translation_keys.issuperset(
38-
default_keys
39-
), f"Translation {translation_filename} for key {key} is missing format keys ({default_keys.difference(translation_keys)})" # noqa: E501
36+
if not default_keys.issuperset(translation_keys):
37+
invalid_keys.append((key, list(translation_keys.difference(default_keys))))
38+
if not translation_keys.issuperset(default_keys):
39+
missing_keys.append((key, list(default_keys.difference(translation_keys))))
40+
assert (
41+
len(invalid_keys) == 0
42+
), f"Translation {translation_filename} has invalid format keys in some translations: {invalid_keys}" # noqa: E501
43+
assert (
44+
len(missing_keys) == 0
45+
), f"Translation {translation_filename} is missing format keys in some translations: {missing_keys}" # noqa: E501
4046

4147

4248
@pytest.mark.parametrize(["translation_filename"], get_translation_filenames())

0 commit comments

Comments
 (0)