Skip to content

Commit e308e8e

Browse files
fix: log all problems in translations test (#839)
1 parent 8c90f21 commit e308e8e

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

tests/test_translations.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,23 @@ def find_format_keys(format_string: str) -> set[str]:
3030
def test_format_key_validity(translation_filename: str):
3131
default_translation = load_translation("en.json")
3232
translation = load_translation(translation_filename)
33+
invalid_keys: list[tuple[str, list[str]]] = []
34+
missing_keys: list[tuple[str, list[str]]] = []
3335
for key in default_translation:
3436
if key not in translation:
3537
continue
3638
default_keys = find_format_keys(default_translation[key])
3739
translation_keys = find_format_keys(translation[key])
38-
assert default_keys.issuperset(translation_keys), (
39-
f"Translation {translation_filename} for key {key} is using an invalid format key ({translation_keys.difference(default_keys)})" # noqa: E501
40-
)
41-
assert translation_keys.issuperset(default_keys), (
42-
f"Translation {translation_filename} for key {key} is missing format keys ({default_keys.difference(translation_keys)})" # noqa: E501
43-
)
40+
if not default_keys.issuperset(translation_keys):
41+
invalid_keys.append((key, list(translation_keys.difference(default_keys))))
42+
if not translation_keys.issuperset(default_keys):
43+
missing_keys.append((key, list(default_keys.difference(translation_keys))))
44+
assert len(invalid_keys) == 0, (
45+
f"Translation {translation_filename} has invalid format keys in some translations: {invalid_keys}" # noqa: E501
46+
)
47+
assert len(missing_keys) == 0, (
48+
f"Translation {translation_filename} is missing format keys in some translations: {missing_keys}" # noqa: E501
49+
)
4450

4551

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

0 commit comments

Comments
 (0)